ulimit使用量を確認する方法

ulimit使用量を確認する方法

特定のユーザーのulimit使用量を確認する方法はありますか?起動時に個々のプロセス、または実行時に個々のシェルのulimitを変更できることを認識していますが、ユーザーが制限に達する程度を「監視」できることを願っています。bash現在の使用率をstatsdに報告するスクリプトを作成する予定です。特に以下を追跡したいと思います。

  1. ファイルを開く(ulimit -n
  2. 最大ユーザープロセス数(ulimit -u
  3. 保留中の信号( ulimit -i)

私が望むのは、パーセント(0〜100)を使用することです。

ベストアンサー1

おそらく、これが最初の質問に役立ちます。

特定のユーザーのプロセスID(PID)がわかっている場合は、次の方法でプロセス固有の制限を取得できます。

cat /proc/<PID>/limits

次のコマンドを使用して、PIDごとに開かれたファイル数を取得できます。

ls -1 /proc/<PID>/fd | wc -l

次に、値をMax open files2番目のコマンドのオープンファイル記述子の数と比較して、パーセンテージを取得します。

おすすめ記事