プロセスに必要なI/Oの量​​はどのようにわかりますか?

プロセスに必要なI/Oの量​​はどのようにわかりますか?

IOバインディングプロセスがあります。

my_username@GPU8:~$ ps -U my_username -u
USER        PID    %CPU %MEM    VSZ   RSS      TTY      STAT START   TIME COMMAND
my_username 151348 12.7 52.4 47051296 34544380 pts/16   DNl+ 11:38  15:27 python my_py.py

システムには、他のユーザーの異なるIOバインディングプロセスがあります。

私は知っていますが、iotoprootアクセス権が必要ですが、私にはありません。

私のプログラムが待っているリソースの量(容量対比)をどのように知ることができますか?本質的に、プログラムが再実行されるまでの予想待ち時間を探しています。

答え1

しかし、rootアクセス権が必要ですが、私には権限がありません。

システム全体のパフォーマンスや動作に影響を与える介入の詳細な理解にも、ルートアクセスが必要です。何を達成したいですか?

私のプログラムが再度実行されるまでの予想待ち時間です。

それで、何度か実行しましたが、ps毎回中断されていない省電力状態であることを見るたびに常にこの状態だったという結論が出ますか?それなら論理に問題があるのです。

いつ完了するかを推測できません。私たちはあなたのプログラムが何をしているのかわからないだけでなく、システムの他のすべてが何をしているのかわからず、リポジトリの機能が何であるかもしれません。このようにしても、活用度などの測定は多少誤解を招く可能性があります。

IOバインドされている場合、カーネルで使用される時間は、呼び出しあたりRR_TIMESLICE(100ms)よりはるかに短くなる可能性があります。キューの先頭に到達する頻度は、同時に実行できるプロセスの数によって異なります。ただし、他のほとんどのプロセスもIOバインドされている場合、プロセスは実行可能ですが、まだCPUでは実行されていない短い時間がある可能性があります。

関連情報