htopのすべてのプロセスのI / O速度を表示しますか?

htopのすべてのプロセスのI / O速度を表示しますか?

htop3.2.2一般ユーザーとして実行してI/O速度のみを表示( IO_RATE/ IO_READ_RATE/ IO_WRITE_RATE)一部プロセス、その他のプロセスは「N/A」です。

rootとして実行すると、すべてのプロセスのI / Oが表示されます。

htop show I/O 速度を設定する方法みんな一般ユーザーとして実行すると処理されますか?

答え1

htop/proc/pid/ioI / O統計を取得するには、各プロセスのファイルを読んでください。

/proc/pid/ioセクションがほぼ終わる頃proc(5)私たちは:

このファイルへのアクセスは、ptraceアクセスモードの確認によって制御されますPTRACE_MODE_READ_FSCREDS。 ptrace(2) を参照してください。

ptrace()一般権限を付与できます。CAP_SYS_PTRACEしかし、私たちはまだ必要です。CAP_DAC_READ_SEARCHファイル読み取り権限の検査のバイパスアクセスptrace()アルゴリズム

setcap(8)htop実行可能ファイルの設定には2つの機能があります。

sudo setcap 'cap_sys_ptrace=ep cap_dac_read_search=ep' /usr/bin/htop

上限は次のように確認できます。

sudo getcap /usr/bin/htop

...または一緒にリセット:

sudo setcap '' /usr/bin/htop

関連情報