OK, consegui fazer o mesmo que você fez, mas com algumas alterações:
1) Eu instalei os mesmos utilitários:
sudo apt-get install cgroup-bin cgroup-lite cgroup-tools cgroupfs-mount libcgroup1
2) Eu editei arquivos conf como este:
/etc/init/cgroup-lite.conf
description "mount available cgroup filesystems"
author "Serge Hallyn <[email protected]>"
start on mounted MOUNTPOINT=/sys/fs/cgroup
pre-start script
test -x /bin/cgroups-mount || { stop; exit 0; }
test -d /sys/fs/cgroup || { stop; exit 0; }
/bin/cgroups-mount
cgconfigparser -l /etc/cgconfig.conf
end script
post-stop script
if [ -x /bin/cgroups-umount ]
then
/bin/cgroups-umount
fi
end script
/etc/cgconfig.conf
# Since systemd is working well, this section may not be necessary.
# Uncomment if you need it
#
# mount {
# cpuacct = /cgroup/cpuacct;
# memory = /cgroup/memory;
# devices = /cgroup/devices;
# freezer = /cgroup/freezer;
# net_cls = /cgroup/net_cls;
# blkio = /cgroup/blkio;
# cpuset = /cgroup/cpuset;
# cpu = /cgroup/cpu;
# }
group limitcpu{
cpu {
cpu.shares = 400;
}
}
group limitmem{
memory {
memory.limit_in_bytes = 512m;
}
}
group limitio{
blkio {
blkio.throttle.read_bps_device = "252:0 2097152";
}
}
group browsers {
cpu {
# Set the relative share of CPU resources equal to 25%
cpu.shares = "256";
}
memory {
# Allocate at most 512M of memory to tasks
memory.limit_in_bytes = "512m";
# Apply a soft limit of 512 MB to tasks
memory.soft_limit_in_bytes = "384m";
}
}
group media-players {
cpu {
# Set the relative share of CPU resources equal to 25%
cpu.shares = "256";
}
memory {
# Allocate at most 256M of memory to tasks
memory.limit_in_bytes = "256m";
# Apply a soft limit of 196 MB to tasks
memory.soft_limit_in_bytes = "128m";
}
}
cgconfigparser -l /etc/cgconfig.conf
e /etc/cgrules.conf
user:process subsystems group
[user]:/usr/lib/chromium-browser/chromium-browser cpu,memory browsers
[user]:/usr/bin/clementine cpu,memory media-players
Esse é um exemplo, use seu nome de usuário em vez de [usuário]. Você pode adicionar os aplicativos necessários para limitar e definir se deseja que eles sejam limitados à CPU, à memória ou a ambos.
Eu editei a linha GRUB_CMDLINE_LINUX_DEFAULT
em /etc/default/grub
:
GRUB_CMDLINE_LINUX_DEFAULT="cgroup_enable=memory swapaccount=1"
Atualizando:
sudo update-grub
3) E finalmente reiniciando para aplicar as alterações.
E é assim que eu tenho esse trabalho. Antes disso, eu estava tendo OOMs frequentes com multitarefa - com navegador cromo, clementine, texto sublime e outros aplicativos usando muitos recursos -, agora eles estão funcionando perfeitamente e eu posso executar multitarefas melhor.
Eu realmente espero que isso possa ajudar os outros.
Atualmente usando o Ubuntu 16.04 LTS com Intel Dual Core de 2.6 Ghz e 4 Gb. RAM.