不使用libcgroup的原因
centos7上使用libcgroup进行资源限制可参考
https://blog.csdn.net/lanyang123456/article/details/81414198
以orange_limitmem资源控制组为例
正常情况下,查看资源限制文件,如果某个进程受限制,进程PID会在其中,
# cat /sys/fs/cgroup/memory/orange_limitmem/tasks
问题
但是,遇到这种情况,PID有时写入orange_limitmem/tasks文件,有时不会。
没有写入到orange_limitmem/tasks文件的进程,其PID被写入了user.slice/tasks文件。
而且,有时,开始时写入了orange_limitmem/tasks文件,过一段时间,却又被移动到了user.slice/tasks文件中。
其他情况
-
直接orange用户登录,启动进程
PID正常写入tasks文件,受到资源限制 -
root登录,切换到orange,启动进程
PID不能写入到正确的tasks文件,不受资源限制
这些问题,未能解答,centos7上做资源限制官网建议使用systemd。
关于如何使用systemd进程资源限制,可以参考:
https://blog.csdn.net/lanyang123456/article/details/81610779
https://blog.csdn.net/lanyang123456/article/details/82318978