linux – 如何阻止用户在服务器上运行CPU繁重的程序?
我有一个24核服务器,用户通过SSH连接.
它们并不意味着它们运行像CPU,R这样的CPU程序,或者它们自己的脚本执行模拟或类似的事情. 有没有办法自动检测和杀死-9 CPU重进程? 解决方法
您应该使用cgroups来执行此操作.
请参阅“man cgrules.conf”和“man cgconfig.conf”. Fedora上的systemctl的更高版本应该支持将用户直接粘贴到cgroup中,这样你就可以更好地做到这一点. 这不会限制CPU,因为如果有可用的CPU资源(没有人使用),它将使用所有CPU但是其他东西也要求CPU它将根据配置的“cpu”分配CPU的份额.分享“价值. 另外,正如建议在CPU时间上坚持ulimit将确保运行过程被给予一个cuculative数量的jiffies之前被杀死使用太多的CPU.这可能会对用户正在使用的长时间运行的流程产生负面影响,这些流程在很长一段时间内自然会积累一定数量的jiffies. 您还可以使用cgroup强制所有用户仅在您的某个核心上进行实时处理,这样您至少可以保证一个CPU是否被淹没,它对其余的操作系统进程没有负面影响. CGroups也是限制内存使用的一种很棒的方法.你可以将它与pam_limits结合起来以防止叉轰炸. 编辑:我还应该指出我认为你的要求不一定相关.让1个进程占用100%的CPU并不一定是坏事,为其他进程提供运行时间. Linux上完全公平的调度程序无论如何都能保证这种行为. 如果CPU只是空闲,那么使用所有CPU的进程没有任何问题.您的问题只出现在多个进程要求CPU时间且其中一个进程占用CPU的情况下.这就是cgroup应该受益的地方,因为它允许你控制在CPU争用情况下你将分配不同进程的CPU时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 在命令行中使用wireshark / tshark来忽略ssh连接
- 访问DOCUMENT_ROOT之外的PHP类文件
- linux – 由DHCP分配的Ifconfig别名地址
- Linux系统环境下Tomcat8、httpd、mysql8开机自启动配置
- 03-树2 List Leaves (25 分)
- linux – 可以在cron作业中使用upstart的“服务启动”吗?
- 商城系统在linux系统中定时备份MySQL数据库并删除七天前的备
- 使用Python和Xorg获取当前窗口标题
- 如何在linux中使用cx_freeze来创建一个在windows中使用的包
- Container和Injection