如果問題很蠢,我真誠的道歉,但我是一個新手(前端開發人員,最近在後端工作)。高配置的AwS機器上的打開文件異常太多
我有我的應用程序在亞馬遜aws機上運行。我想要的是有效地利用我的資源,以便提供更多請求。
我正在運行一個服務於GET和websocket請求的Java vertx服務器。我創建了三個運行在不同端口上的服務器實例,並使用nginx來平衡負載。
我的AWS資源是非常
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 100G 0 disk
└─xvda1 202:1 0 100G 0 part/
我的軟限制爲無限
ulimit -S
unlimited
我的硬限制爲無限
ulimit -H
unlimited
我檢查打開的文件總數as
sudo lsof -Fn -u root| wc -l
13397
爲什麼我收到此異常
java.io.IOException異常:打開的文件太多
我的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) 128305
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 700000
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) 128305
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
什麼是最好的方式檢查可用文件的數量以及使用的文件數量。我應該如何使用這些資源以便我可以建立大量的連接。
請讓我知道。
你能後的輸出:'貓的/ proc/SYS/FS /文件max'和'的ulimit -a' – Behe
執行cat/proc/SYS/FS /文件最大爲300000 – CuriousMind
@ Behe請檢查,我已編輯了這個問題。 – CuriousMind