お世話になっております。
UNIX/Linuxで「プロセスごとの」ディスクの使用状況(ディスクI/Oの状況)を取得する方法を探しています。
ディスクの使用状況を取得するコマンドにはiostatコマンドやsarコマンドなどが
ありますが、これはシステム全体のディスク使用状況しか取得できず
プロセスごとのディスク使用状況は取得できません…。
具体的な状況としては以下です。
プロセス1~5の、5つのプロセスから成るソフトがあります。
ソフトを起動すると、プロセス1~5が起動し
それぞれのプロセスがディスクにアクセスします。
このとき特定のプロセスの(例えばプロセス2の)ディスクの使用状況(I/O回数)を取得したいのです。
これを実現できるコマンドや方法を知っている方いらっしゃいましたら、ご教示ください。
以上です。よろしくお願い致します。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
質問者様は既に放置されているようなので、このページを参照している他の方のためにメモします。
(質問者様の環境のように、/proc以下にioディレクトリがない環境では使えません)
まず、I/Oが激しいプロセスを特定する方法は以下の通りです。
(root)# find /proc -name io | xargs egrep "write|read" | sort -n -k 2
すると以下のようなフォーマットでI/Oの一覧が出力されます。下に行くほどI/Oが多いプロセスになるようにsortされています。
/proc/3847/io:read_bytes: 82096128
この場合、"3847"というのがプロセスID、最後がバイト数です。
上記の一覧から、どのプロセスがあやしいか、だいたい当たりをつけます。
次はそれがどのプログラムかですが、例えば上記の3847であれば、以下の方法で得ることができます。
(root)# ls -l /proc/3847 | awk 'length($11)!=0 {print $11}'
これで、デバイスにアクセスしているプロセスが分かりました。
次に、このプロセスがどのファイルを読み書きしているかです。
再び3847を例にすると、以下で当たりをつけます。
(root)# strace -p 3847 -f -e pwrite,pread
すると以下のようなフォーマットで大量の文字列が表示されます。
[pid 3847] pwrite(20, "v\2\0\0S\20\273\0<\3\0\0\260\1\0\0\344\1\5\1\f \10\254\17\\\16"..., 4096, 3391488) = 4096
[pid 3847] pwrite(21, "v\2\0\0w\367\272\0\240\6\0\0T\0\0\\0\3\0\210\17\2\3\364\17\230\17\210\17"..., 4096, 6946816) = 4096
[pid 3847] pwrite(21, "v\2\0\0y\340\301\0\243\0\0\0\0\0\\0\6\4\0\0\2610\1\fp\t\\\16`\r"..., 4096, 667648) = 4096
[pid 3847] pwrite(21, "v\2\0\0\301\0\245\0\0\0\0\0\0\0z\0\0\0\24\0p\t\1\fp\t\f\rX\17"..., 4096, 675840) = 4096
[pid 3847] pwrite(20, "v\2\0\0wj\276\0/\3\0\0\266\1\0\0\24\0p\t\1\f\260\16\\\16\264\r"..., 4096, 172032) = 4096
[pid 3847] pwrite(20, "v\2\0\0G\0\370\2\0\0\360\0\0\0\22\0\30\n\1\f\30\nl\n\300\n"..., 4096, 4370432) = 4096
[pid 3847] pwrite(21, "v\2\0\0;\212\27376\0\0\0\0\0\24\0p\t\1\f\270\fp\t\\\16"..., 4096, 6021120) = 4096
適当なところで、ctrl-cで止めます。
それぞれの行の、最初の引数の"20"とか"21"というのがアクセスされているファイルのファイルディスクリプタです。(言うまでもなく、20と21は別のファイルです)
これらのファイルディスクリプタが具体的にどのファイルに対応しているかは、以下のコマンドで分かります。(例は、プロセスIDが3847、ファイルディスクリプタが20の場合)
(root)# readlink /proc/3847/fd/20
これで、どのプロセスがどのファイルをアクセスしているかが分かります。
自分はできていませんが、もしかしたらシェルスクリプトなどにまとめることもできるかもしれません。もし実際にやった方がいたら、またこのページの回答欄から共有していただけることを期待しつつ、、、
以上です。
No.4
- 回答日時:
iotopでプロセスごとのI/Oをリアルタイムに監視することができます。
詳しくは下記をどうぞ。
http://gigazine.net/index.php?/news/comments/200 …
kernelのバージョンが古いと動かないのが難点ですが便利ですよ。
参考URL:http://gigazine.net/index.php?/news/comments/200 …
No.3
- 回答日時:
ubuntuですが「システム・モニタ」にて特定のプロセスが使用中のファイルまでは見ることができました。
ま、参考までに。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
写真をコピーしたら作成日時が...
-
WIN7を初期化、ネットが不安定...
-
エクスプローラのアクティブウ...
-
windows11 きれいなロック画面...
-
Windows Media Playerを開くと...
-
windows11におけるファイルの並...
-
Windowsの"legacy"ってなんです...
-
PCがwindows Updateで起動しな...
-
windows11でクイックスキャン等...
-
Windowsの古いゲーム(32bit OS...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
windows defenderフルスキャンc...
-
Windowsサポート終了すると
-
MS-DOS 6.22のダウンロード
-
windows defenderフルスキャンH...
-
「Wi-Fiアダプターへのアクセス...
-
Windows xp古いパソコン
-
Windowsxpパソコン
-
Windows11を使っています 突如...
-
ピン止めがリセットされてしま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
windows11におけるファイルの並...
-
エクスプローラのアクティブウ...
-
Windows xp古いパソコン
-
MS-DOS 6.22のダウンロード
-
windows11でクイックスキャン等...
-
windows11 きれいなロック画面...
-
Windows11 システム通知音がも...
-
windows11 電源を入れたら勝手...
-
Windows Media Playerを開くと...
-
Windowsxpパソコン
-
Windowsサポート終了すると
-
写真をコピーしたら作成日時が...
-
Windowsで大量の画像サイズを半...
-
Raspberry Pi 3 A+ ブラウザ遅い
-
Windowsの"legacy"ってなんです...
-
大至急お願いします!!!! 訳...
-
勝手に無変換になる
-
Windows11のデスクトップのアプ...
-
Windowsの古いゲーム(32bit OS...
-
VirtualBoxのゲストOS起動時にU...
おすすめ情報