Merge pull request #1340 from devimc/topic/noJournald

pkg: reduce memory footprint
This commit is contained in:
James O. D. Hunt 2019-03-11 14:37:48 +00:00 committed by GitHub
commit cad58e8a2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 3 deletions

View File

@ -672,7 +672,7 @@ func updateRuntimeConfigShim(configPath string, tomlConf tomlConfig, config *oci
// SetKernelParams adds the user-specified kernel parameters (from the // SetKernelParams adds the user-specified kernel parameters (from the
// configuration file) to the defaults so that the former take priority. // configuration file) to the defaults so that the former take priority.
func SetKernelParams(runtimeConfig *oci.RuntimeConfig) error { func SetKernelParams(runtimeConfig *oci.RuntimeConfig) error {
defaultKernelParams := GetKernelParamsFunc(needSystemd(runtimeConfig.HypervisorConfig)) defaultKernelParams := GetKernelParamsFunc(needSystemd(runtimeConfig.HypervisorConfig), runtimeConfig.Trace)
if runtimeConfig.HypervisorConfig.Debug { if runtimeConfig.HypervisorConfig.Debug {
strParams := vc.SerializeParams(defaultKernelParams, "=") strParams := vc.SerializeParams(defaultKernelParams, "=")

View File

@ -1414,7 +1414,7 @@ func TestUpdateRuntimeConfigurationInvalidKernelParams(t *testing.T) {
GetKernelParamsFunc = savedFunc GetKernelParamsFunc = savedFunc
}() }()
GetKernelParamsFunc = func(needSystemd bool) []vc.Param { GetKernelParamsFunc = func(needSystemd, trace bool) []vc.Param {
return []vc.Param{ return []vc.Param{
{ {
Key: "", Key: "",

View File

@ -37,11 +37,72 @@ var systemdKernelParam = []vc.Param{
}, },
} }
func getKernelParams(needSystemd bool) []vc.Param { // kernel params to improve memory footprint
var noTraceKernelParam = []vc.Param{
// No logs: agent has its own logging system
{
Key: "systemd.mask",
Value: "systemd-journald.service",
},
{
Key: "systemd.mask",
Value: "systemd-journald.socket",
},
{
Key: "systemd.mask",
Value: "systemd-journal-flush.service",
},
// No udev events: agent implements udev events
{
Key: "systemd.mask",
Value: "systemd-udevd.service",
},
{
Key: "systemd.mask",
Value: "systemd-udevd.socket",
},
{
Key: "systemd.mask",
Value: "systemd-udev-trigger.service",
},
// No timesync: kata is able to setup the time and this service consume network
{
Key: "systemd.mask",
Value: "systemd-timesyncd.service",
},
// No update audit logs
{
Key: "systemd.mask",
Value: "systemd-update-utmp.service",
},
// No temporal files
{
Key: "systemd.mask",
Value: "systemd-tmpfiles-setup.service",
},
{
Key: "systemd.mask",
Value: "systemd-tmpfiles-cleanup.service",
},
{
Key: "systemd.mask",
Value: "systemd-tmpfiles-cleanup.timer",
},
// No mounts
{
Key: "systemd.mask",
Value: "tmp.mount",
},
}
func getKernelParams(needSystemd, trace bool) []vc.Param {
p := []vc.Param{} p := []vc.Param{}
if needSystemd { if needSystemd {
p = append(p, systemdKernelParam...) p = append(p, systemdKernelParam...)
if !trace {
p = append(p, noTraceKernelParam...)
}
} }
return p return p