ulimit 值超出允許範圍導致無法登陸作業系統

2022-03-28 03:23:59 字數 2115 閱讀 9308

在linux中,使用ulimit可以設定一些資源的使用限制。

[root@root ~]# ulimit -a

core file size          (blocks, -c) unlimited

data seg size           (kbytes, -d) unlimited

scheduling priority             (-e) 0

file size               (blocks, -f) unlimited

pending signals                 (-i) 30425

max locked memory       (kbytes, -l) unlimited

max memory size         (kbytes, -m) unlimited

open files                      (-n) 1048576

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

max user processes              (-u) unlimited

virtual memory          (kbytes, -v) unlimited

file locks                      (-x) unlimited

當然,也可以在/etc/security/limits.conf檔案中設定。

但是請注意,如果你在檔案中設定,你可能設定的值超出範圍,導致不可預知的後果,例如無法登陸作業系統。

下面這個對open files的限制就是乙個例子,它不識別unlimited,是乙個有限的值。

所以如果你在/etc/security/limits.conf中設定了

*soft    nofile  unlimited

*hard    nofile  unlimited

那就完蛋了,因為你接下來的程序將登陸不了系統了。

我們最好先使用ulimit命令驗證一下你將要設定的值是否合法。

例如:[root@root ~]# ulimit -n unlimited

-bash: ulimit: open files: cannot modify limit: operation not permitted

[root@root ~]# ulimit -n 1

[root@root ~]# ulimit -n 1024000000

-bash: ulimit: open files: cannot modify limit: operation not permitted

[root@root ~]# ulimit -n 9999999999

-bash: ulimit: open files: cannot modify limit: operation not permitted

[root@root ~]# ulimit -n 9999999

-bash: ulimit: open files: cannot modify limit: operation not permitted

[root@root ~]# ulimit -n 999999

[root@root ~]# 

最終發現-n 最大可以設定為1024*1024=1048576

[root@root ~]# ulimit -n 1048576

[root@root ~]# ulimit -n 1048577

-bash: ulimit: open files: cannot modify limit: operation not permitted

將合法的值設定在/etc/security/limits.conf中。

如果你確實因為設定了不合法的值導致無法登陸系統,可以進入單使用者,把值改回來。

#

linux設定ulimit值永久生效

小知識的積累,linux 預設開啟檔案數linux 預設開啟檔案數為1024個,通過ulimit a 可以檢視open files 修改這個限制可以使用ulimt shn 65536 永久生效需要進行下面設定 1.etc pam.d login 新增pam limits.so 有時候系統預設新增 首...

linux設定ulimit值永久生效

小知識的積累,linux 預設開啟檔案數linux 預設開啟檔案數為1024個,通過ulimit a 可以檢視open files 修改這個限制可以使用ulimt shn 65536 永久生效需要進行下面設定 1.etc pam.d login 新增pam limits.so 有時候系統預設新增 首...

python基礎,範值 貳

自動轉換 其他型別的轉換 ord eval 輸入與輸出操作 格式化輸出 表達 語句結構 語句結構 分支結構 1.單分支結構 age input 請輸入你的年齡 age int age if 18 age 100 print xx網咖歡迎您 if age 18 or age 100 print 回家洗...