質問が愚かな場合は心からお詫び申し上げますが、私は初心者です(フロントエンドの開発者、最近はバックエンドで作業中)。設定の高いAwSマシンで開いているファイルが多すぎます
私はAmazonのawsマシンで実行しているアプリを持っています。私が望むのは、私のリソースを効率的に活用して、より多くのリクエストが提供されるようにすることです。
GETとWebSocketリクエストを処理するJavaのvertxサーバを実行しています。私は別のポート上で実行しているこのサーバの3つのインスタンスを作成し、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
私は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
ある
開いているファイルが多すぎ:
sudo lsof -Fn -u root| wc -l
13397
は、なぜ私はこの例外に
にjava.io.IOExceptionを取得しています使用可能なファイルの数と使用されているファイルの数を確認してください。そして、私はどのように多くの接続を行うことができるような方法でリソースを使うべきですか?
お知らせください。
あなたはの出力を投稿することができます: '猫の/ proc/sysのの/ fsの/ファイルmax'と' ulimitの-a' – Behe
猫の/ proc/sysのの/ fsの/ファイル-maxが300000 – CuriousMind
です@ Beheをチェックしてください、私は質問を編集しました。 – CuriousMind