首页 帮助中心 香港云服务器 Linux中设置用户运行进程限制
Linux中设置用户运行进程限制
时间 : 2024-11-28 13:59:00 编辑 : 华纳云 阅读量 : 245

Linux的优势之一就是可以控制几乎全部的东西,系统管理者可以更好的管理控制系统资源,保证系统资源的重复利用。很多人不知道linux中还能支持限制单个用户可用资源量和使用时间。

下文中华纳云整理关于如何限制用户启动的进程数,如何检查当前限制并修改的相关内容分享给大家。在进行以下步骤之前,有两个前提条件,就是需要有系统root权限才能修改用户限制,另外一个就是是修改这些限制需谨慎。

设置用户权限,需要编辑:

/etc/security/limits.conf

该文件用于应用pam_module创建的ulimit。 该文件的语法如下:

<域> <类型> <项目> <值>

域是包括用户名、群组、guid范围等,类型包括软限制和硬限制,项目含受限制的项目核心大小、文件大小、nproc等,值是给定限制的值。

限制的例子:

@student          hard           nproc                20

上面一行设置了该student组最多20个进程的硬限制。如果想查看某个进程的限制,可以简单的cat限制文件如:

# cat /proc/PID/limits

其中PID是实际进程ID,可以使用ps命令找出进程ID。如:

# cat /proc/2497/limits

输出示例:

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             32042                32042                processes
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       32042                32042                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us   

以上的行都容易理解,如果还想了解更多关于limits.conf文件中输入设置,可以继续阅读我们的帮助中心。如果使用中是想单独查看每个处理器活动,或者是看整个系统活动,可以使用linux的报告处理器统计mpstat,可以作为一次性快照也可以动态查看,需要提前安装好sysstat :

# yum update && yum install sysstat              [On CentOS based systems]
# aptitutde update && aptitude install sysstat   [On Ubuntu based systems]
# zypper update && zypper install sysstat        [On openSUSE systems]

安装好后,可以使用它来生成处理器统计报告。要以2秒的间隔来显示全部CPU(以ALL表示)的三个全局CPU利用率报告:

# mpstat -P ALL -u 2 3

示例输出:

Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)
11:41:07  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:09  IST  all    5.85    0.00    1.12    0.12    0.00    0.00    0.00    0.00    0.00   92.91
11:41:09  IST    0    4.48    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   94.53
11:41:09  IST    1    2.50    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   97.00
11:41:09  IST    2    6.44    0.00    0.99    0.00    0.00    0.00    0.00    0.00    0.00   92.57
11:41:09  IST    3   10.45    0.00    1.99    0.00    0.00    0.00    0.00    0.00    0.00   87.56
11:41:09  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:11  IST  all   11.60    0.12    1.12    0.50    0.00    0.00    0.00    0.00    0.00   86.66
11:41:11  IST    0   10.50    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   88.50
11:41:11  IST    1   14.36    0.00    1.49    2.48    0.00    0.00    0.00    0.00    0.00   81.68
11:41:11  IST    2    2.00    0.50    1.00    0.00    0.00    0.00    0.00    0.00    0.00   96.50
11:41:11  IST    3   19.40    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   79.60
11:41:11  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:41:13  IST  all    5.69    0.00    1.24    0.00    0.00    0.00    0.00    0.00    0.00   93.07
11:41:13  IST    0    2.97    0.00    1.49    0.00    0.00    0.00    0.00    0.00    0.00   95.54
11:41:13  IST    1   10.78    0.00    1.47    0.00    0.00    0.00    0.00    0.00    0.00   87.75
11:41:13  IST    2    2.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00    0.00   97.00
11:41:13  IST    3    6.93    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   92.57
Average:     CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
Average:     all    7.71    0.04    1.16    0.21    0.00    0.00    0.00    0.00    0.00   90.89
Average:       0    5.97    0.00    1.16    0.00    0.00    0.00    0.00    0.00    0.00   92.87
Average:       1    9.24    0.00    1.16    0.83    0.00    0.00    0.00    0.00    0.00   88.78
Average:       2    3.49    0.17    1.00    0.00    0.00    0.00    0.00    0.00    0.00   95.35
Average:       3   12.25    0.00    1.16    0.00    0.00    0.00    0.00    0.00    0.00   86.59

查看特定CPU的相同统计信息:

# mpstat -P 0 -u 2 3

示例:

Linux 3.19.0-32-generic (tecmint.com) Wednesday 30 March 2016 _x86_64_ (4 CPU)
11:42:08  IST  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
11:42:10  IST    0    3.00    0.00    0.50    0.00    0.00    0.00    0.00    0.00    0.00   96.50
11:42:12  IST    0    4.08    0.00    0.00    2.55    0.00    0.00    0.00    0.00    0.00   93.37
11:42:14  IST    0    9.74    0.00    0.51    0.00    0.00    0.00    0.00    0.00    0.00   89.74
Average:       0    5.58    0.00    0.34    0.85    0.00    0.00    0.00    0.00    0.00   93.23
华纳云 推荐文章
Linux bmon命令常用方法的分享 宝塔Linux面板的功能、支持系统及安装指南 Linux中ifconfig命令详解与实战指南 Linux mknod 命令的使用示例与详解 2025年最适合学生使用的Linux发行版推荐 Linux系统磁盘和文件系统管理 教你如何用特定命令轻松管理Linux进程? Linux/Ubuntu中的CPU使用率或利用率的查看方法 在Windows、Linux和macOS上安装NumPy Linux watch命令的使用方法
活动
客服咨询
7*24小时技术支持
技术支持
渠道支持