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

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中打开文件数量限制的方法 Linux中删除重复文件的常用命令有哪些 Linux中Curl命令使用技巧有哪些 RHEL系统中NTP安装和配置的步骤 ubuntu服务器怎么进行磁盘管理? PowerShell的Copy-Item命令能复制哪些内容 CentOS中怎么安装 OpenNMS 网络监控工具 Prometheus的关键特性和应用方法 Linux云服务器搭建电子商务网站的方法 Linux服务器拒绝发送离线文件怎么解决
客服咨询
7*24小时技术支持
技术支持
渠道支持