日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

寫(xiě)在前面


我遇到了什么問(wèn)題:

  • 很老的一個(gè)系統(tǒng)bug原因升級(jí),大概五六年沒(méi)有重啟機(jī)器了,4A平臺(tái)上面通過(guò)ssh遠(yuǎn)程連接linux機(jī)器,偶爾連接不上
  • 即使連接之后命令無(wú)法正常執(zhí)行,執(zhí)行了沒(méi)有反應(yīng)。
  • 即使可以執(zhí)行,執(zhí)行命名報(bào)-bash: fork: retry: Resource temporarily unavailable.(資源暫時(shí)不可用)

出現(xiàn)問(wèn)題的原因是什么:

Linux進(jìn)程數(shù)超過(guò)了設(shè)置的最大進(jìn)程數(shù)。會(huì)對(duì)系統(tǒng)進(jìn)行資源限制,所以分配給ssh進(jìn)程的資源時(shí)有時(shí)無(wú),一些命令的bash進(jìn)程會(huì)被殺調(diào),以保證系統(tǒng)進(jìn)程不超過(guò)設(shè)置的最大進(jìn)程數(shù),無(wú)法正常執(zhí)行。即下面的第一個(gè)輸出要遠(yuǎn)遠(yuǎn)小與第二個(gè)和第三個(gè)輸出。如果有些接近就會(huì)出現(xiàn)這種問(wèn)題

┌──[[email protected]]-[/]
└─$ ps -eLf | wc -l  # 當(dāng)前進(jìn)程數(shù)
221
┌──[[email protected]]-[/]
└─$ ulimit  -u  # 用戶的最大進(jìn)程數(shù)
15665
┌──[[email protected]]-[/]
└─$ sysctl kernel.pid_max # 內(nèi)核設(shè)置的最大進(jìn)程數(shù)
kernel.pid_max = 150000
┌──[[email protected]]-[/]
└─$

我是怎樣解決的

修改內(nèi)核參數(shù),調(diào)整最大進(jìn)程數(shù)限制。這里修改的話需要root權(quán)限,同時(shí)需要修改兩個(gè)地方。

其一:用戶登錄會(huì)加載pam_limit模塊,pam_limit模塊讀取配置文件 /etc/security/limits.conf來(lái)限制用戶資源的占用。可以使用ulimit的命令來(lái)查看和臨時(shí)設(shè)置資源信息,也可以通過(guò) 寫(xiě)入/etc/security/limits.conf來(lái)永久配置,配置文件在每次登錄時(shí)會(huì)加載。可以用來(lái)設(shè)置ssh連接數(shù),最大進(jìn)程數(shù)等。

其二:Linux系統(tǒng)中內(nèi)核kernel模塊,有個(gè)全局的設(shè)置最大進(jìn)程數(shù)的內(nèi)核參數(shù),需要修改這個(gè)參數(shù),內(nèi)核參數(shù)的設(shè)置方式有臨時(shí)設(shè)置和永久設(shè)置兩種方式,臨時(shí)設(shè)置完就會(huì)刷新,重啟失效。可以先臨時(shí)設(shè)置后查看效果,然后永久設(shè)置。

人生當(dāng)苦無(wú)妨,良人當(dāng)歸即好.——烽火戲諸侯《雪中悍刀行》


查看當(dāng)前用戶的活躍進(jìn)程數(shù)

┌──[[email protected]]-[/]
└─$ ps -eLf | wc -l  # 當(dāng)前進(jìn)程數(shù)
221

查看用戶允許運(yùn)行的最大進(jìn)程數(shù)

┌──[[email protected]]-[~]
└─$ 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) 15665
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 15665
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited  # 無(wú)限大
┌──[[email protected]]-[~]
└─$

ulimit為shell內(nèi)建指令,可用來(lái)控制shell執(zhí)行程序的資源。

語(yǔ)法:

ulimit [-aHS][-c <core文件上限>][-d <數(shù)據(jù)節(jié)區(qū)大小>][-f <文件大小>][-m <內(nèi)存大小>][-n <文件數(shù)目>][-p <緩沖區(qū)大小>][-s <堆棧大小>][-t <CPU時(shí)間>][-u <程序數(shù)目>][-v <虛擬內(nèi)存大小>]

參數(shù):

-a

顯示目前資源限制的設(shè)定。

-c

<core文件上限>  設(shè)定core文件的最大值,單位為區(qū)塊。

-d

<數(shù)據(jù)節(jié)區(qū)大小>  程序數(shù)據(jù)節(jié)區(qū)的最大值,單位為KB。

-f

<文件大小>  shell所能建立的最大文件,單位為區(qū)塊。

-H

設(shè)定資源的硬性限制,也就是管理員所設(shè)下的限制。

-m

<內(nèi)存大小>  指定可使用內(nèi)存的上限,單位為KB。

-n

<文件數(shù)目>  指定同一時(shí)間最多可開(kāi)啟的文件數(shù)。

-p

<緩沖區(qū)大小>  指定管道緩沖區(qū)的大小,單位512字節(jié)。

-s

<堆棧大小>  指定堆棧的上限,單位為KB。

-S

設(shè)定資源的彈性限制。

-t

<CPU時(shí)間>  指定CPU使用時(shí)間的上限,單位為秒。

-u

<進(jìn)程數(shù)目>  用戶最多可開(kāi)啟的進(jìn)程數(shù)目。

-v

<虛擬內(nèi)存大小>  指定可使用的虛擬內(nèi)存上限,單位為KB。

┌──[[email protected]]-[~]
└─$ ulimit  -u
15665

默認(rèn)值

用戶

描述

root 賬號(hào)

ulimit -u的值 默認(rèn)是
/proc/sys/kernel/threads-max的值/2,即系統(tǒng)線程數(shù)的一半

普通賬號(hào)

ulimit -u的值 默認(rèn)是
/etc/security/limits.d/20-nproc.conf

修改用戶允許運(yùn)行的最大進(jìn)程數(shù)

臨時(shí)修改

┌──[[email protected]]-[~]
└─$ ulimit  -u 75535
┌──[[email protected]]-[~]
└─$ ulimit  -u
75535
┌──[[email protected]]-[~]
└─$

永久修改

在/etc/security/limits.conf 文件里添加如下內(nèi)容

* soft nproc 65535      

* hard nproc 65535    

關(guān)鍵字

描述

nproc

是操作系統(tǒng)級(jí)別對(duì)每個(gè)用戶創(chuàng)建的進(jìn)程數(shù)的限制

nofile

是每個(gè)進(jìn)程可以打開(kāi)的文件數(shù)的限制

soft xxx

代表警告的設(shè)定,可以超過(guò)這個(gè)設(shè)定值,但是超過(guò)后會(huì)有警告。

hard xxx

代表嚴(yán)格的設(shè)定,不允許超過(guò)這個(gè)設(shè)定的值。

┌──[[email protected]]-[~]
└─$  echo "* soft nproc 65535"  >> /etc/security/limits.conf
┌──[[email protected]]-[~]
└─$ echo "* hard nproc 65535"  >> /etc/security/limits.conf
┌──[[email protected]]-[~]
└─$ cat /etc/security/limits.conf  | grep nproc
#        - nproc - max number of processes
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
* soft nproc 65535
* hard nproc 65535
┌──[[email protected]]-[~]
└─$

從新通過(guò)ssh的方式登錄,就會(huì)刷新 ulimit -u的值

查看Linux內(nèi)核模塊kernel允許的最大進(jìn)程數(shù)

查看kernel.pid_max的內(nèi)核參數(shù)

┌──[[email protected]]-[~]
└─$ sysctl -a | grep pid_max  #查看pid的內(nèi)核參數(shù)
kernel.pid_max = 131072
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.br-0e0cdf9c70b0.stable_secret"
sysctl: reading key "net.ipv6.conf.br-4b3da203747c.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.Docker0.stable_secret"
sysctl: reading key "net.ipv6.conf.ens32.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
┌──[[email protected]]-[/]
└─$ sysctl kernel.pid_max
kernel.pid_max = 131072

根據(jù)變量找到對(duì)應(yīng)的內(nèi)核參數(shù)文件位置

┌──[[email protected]]-[~]
└─$ cd /proc/sys/kernel/;cat pid_max
131072

調(diào)整kernel.pid_max內(nèi)核參數(shù)

臨時(shí)調(diào)整內(nèi)核參數(shù)

┌──[[email protected]]-[/proc/sys/kernel]
└─$ echo 150000 > pid_max
┌──[[email protected]]-[/proc/sys/kernel]
└─$ cat pid_max  # 臨時(shí)調(diào)整內(nèi)核參數(shù)
150000

永久調(diào)整kernel.pid_max內(nèi)核參數(shù)

┌──[[email protected]]-[/]
└─$ echo "kernel.pid_max = 150000" >> /etc/sysctl.conf # 永久調(diào)整
┌──[[email protected]]-[/]
└─$ cat /etc/sysctl.conf | grep kernel
kernel.pid_max = 150000
┌──[[email protected]]-[/]
└─$ sysctl -p
net.ipv4.ip_forward = 1
vm.swAppiness = 20
kernel.pid_max = 150000
┌──[[email protected]]-[/]
└─$

分享到:
標(biāo)簽:SSH
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定