centos6系統資源限制

1.限制用戶CPU使用資源

/etc/security/limits.conf #主配置文件 /etc/security/limits.d/     #子模塊配置文件

新建一個普通用戶,並查看默認資源限制shell

[root@reddhat6_155_201 ~]# useradd admin [root@reddhat6_155_201 ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 30471 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited #內存大小不限制 open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority              (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited #cpu時間不限制 max user processes (-u) 30471
virtual memory          (kbytes, -v) unlimited file locks (-x) unlimited

exit #退出登陸

設置admin用戶使用CPU資源vim /etc/security/limits.confvim

admin soft cpu 1 #限制admin連續使用CPU不超過1分鐘 最大不超過兩分鐘  admin hard cpu 2

切換至admin用戶,查看可用資源限制bash

[root@reddhat6_155_200 ~]# su - admin [admin@reddhat6_155_200 ~]$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 31501 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority              (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) 60 #已經變爲了60秒了 注意此處的單位 max user processes (-u) 31501
virtual memory          (kbytes, -v) unlimited file locks (-x) unlimited

exit #退出當前用戶登陸

使用dd命令測試 #超過一分鐘後自動中斷ide

使用top命令觀察dd命令TIME使用時間測試

嘗試本身調大CPU時間 #沒有權限spa

可是可用調大至hard值的上限,即2分鐘  #兩分鐘能夠,超過一秒也不行code

其餘用戶限制格式:blog

username  soft cpu 1 #指定用戶 啓動的程序最長只能夠使用1分鐘的CPU時間,soft警告 hard直接終止程序(重啓程序後從新計時) username hard cpu 1 #也能夠使用UID UID後面加:表示大於等於 還能夠設置組名 格式爲 @groupname 例: admin hard cpu 1 #admin用戶硬限制CPU使用時間爲1分鐘 500      soft    cpu        5 #UID爲500的用戶軟限制CPU使用時間爲5分鐘 500:     hard    cpu        10 #UID大於等於500的用戶硬限制CPU使用時間爲10分鐘 @root hard cpu 20   #root組用戶硬限制CPU使用時間爲20分鐘

2.限制用戶內存使用資源

內存限制有兩個地方分別是:進程

[root@reddhat6_155_200 ~]# egrep "rss|as" /etc/security/limits.conf # - rss - max resident set size (KB) #對應top命令中 RES 字段 駐留內存 系統實際分配給程序的內存大小 # - as - address space limit (KB)          #對應top目錄中 VIRT 字段 虛存地址空間 表示程序但願要多少內存

******* 須要注意的是當前pam模塊不支持RSS如今,只能經過as限制 ******

添加對admin用戶內存的限制ip

[root@reddhat6_155_200 ~]# tail -1 /etc/security/limits.conf admin hard as    262144 #對as限制 大小爲 262144K 換算爲256M

查看admin用戶資源限制

[admin@reddhat6_155_200 ~]$ ulimit -a|grep "virtual memory"
virtual memory          (kbytes, -v) 262144 #能夠看到已經變爲262144K了,默認不限制

3.限制用戶進程數

配置普通用戶打開進程數爲1024

[root@reddhat6_155_200 ~]# tail /etc/security/limits.d/90-nproc.conf # Default limit for number of user's processes to prevent
# accidental fork bombs. # See rhbz #432903 for reasoning. *          soft    nproc     1024 #普通用戶限制進程數爲1024 root soft nproc unlimited [root@reddhat6_155_200 ~]# su - admin [admin@reddhat6_155_200 ~]$ ulimit -u 1024

使用shell bomb炸彈進行測試

[admin@reddhat6_155_200 ~]$ :(){ :|:& };: #注意{}兩邊空格 [1] 749 [admin@reddhat6_155_200 ~]$ -bash: fork: retry: 資源暫時不可用 -bash: fork: retry: 資源暫時不可用 -bash: fork: retry: 資源暫時不可用 -bash: fork: retry: 資源暫時不可用
相關文章
相關標籤/搜索