もう何も実行できず(ほとんど何も)、次のエラーメッセージが表示され続けます。コマンドを実行すると、何度もエラーが発生する可能性があります。フォーク:再試行:サブプロセスなし、数回テストしてみると時々動作することがあります。
-bash: フォーク: 再試行: サブプロセスなし
-bash: フォーク: リソースを一時的に使用できない
エラーメッセージの例:
[user@server ~]$ sudo -i
sudo: unable to fork: Resource temporarily unavailable
[user@server ~]$ sudo -i
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: Resource temporarily unavailable
-bash-4.2#
-bash-4.2# logout
[user@server ~]$ sudo -i
[root@server ~]#
[root@server ~]# ps -e --no-headers | wc -l
-bash: fork: retry: No child processes
-bash: fork: retry: Resource temporarily unavailable
86
[root@server ~]# man ulimit
man: fork failed: Resource temporarily unavailable
[root@server ~]# ps -eLF
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: retry: No child processes
-bash: fork: Resource temporarily unavailable
私が調査できるのは、プロセスの制限に達したため、新しいプロセスを作成できないことだけです。私のサーバーには、100個未満のプロセスと350個未満のスレッドが永久に実行されています。
[root@server ~]# ps -e --no-headers | wc -l
86
データソースhtop
:
Tasks: 86, 311 thr; 1 running
Load average: 0.04 0.17 0.16
これまでは限界が十分高く見えます。
[root@server ~]# prlimit
RESOURCE DESCRIPTION SOFT HARD UNITS
AS address space limit unlimited unlimited bytes
CORE max core file size 0 unlimited blocks
CPU CPU time unlimited unlimited seconds
DATA max data size unlimited unlimited bytes
FSIZE max file size unlimited unlimited blocks
LOCKS max number of file locks held unlimited unlimited
MEMLOCK max locked-in-memory address space 67108864 67108864 bytes
MSGQUEUE max bytes in POSIX mqueues 819200 819200 bytes
NICE max nice prio allowed to raise 0 0
NOFILE max number of open files 1024 4096
NPROC max number of processes 62987 62987
RSS max resident set size unlimited unlimited pages
RTPRIO max real-time priority 0 0
RTTIME timeout for real-time tasks unlimited unlimited microsecs
SIGPENDING max number of pending signals 1029347 1029347
STACK max stack size 8388608 unlimited bytes
[root@server ~]# 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) 1029347
max locked memory (kbytes, -l) 65536
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) 62987
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
[root@server ~]# ulimit -aH
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1029347
max locked memory (kbytes, -l) 65536
max memory size (kbytes, -m) unlimited
open files (-n) 4096
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 62987
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
また何を確認できますか?
つまり、これらの不適切な行動の理由は何ですか?
サーバーはリースされたvServer(VPS)であり、プロバイダのVirtuozzo環境にあるコンテナです。
サーバーはCentOS 7.9を実行しており、Pleskがインストールされているため、Webサーバー(httpd)、メールサーバー(Postfix、Dovecot)を実行しています。
Virtuozzo環境に問題がありますか?それでは、これを効率的に判断してプロバイダに連絡する方法はありますか?