iotop 的執行畫面 |
阿舍在網路上找到有幾支程式可用,阿舍大概的比較了一下,最後選了這個 iotop 來用,阿舍選 iotop 是因為它很簡單易用和易看,用法和 top 指令很像,而且,在 Ubuntu 內建的 PPA 就有放 iotop,所以,只要用下面這一行的 apt-get 指令來安裝就可以了。
sudo apt-get install iotop
在安裝好之後,只要用下面這一行來啟動就可以了,要注意的是,一定要用 sudo 來執行,否則,會因為權限問題而出現錯誤訊息的,iotop 啟動後的顯示畫面和 top 指令幾乎是一模一樣的,最大的差別是在畫面中間的那二行是顯示該程式每秒讀 (DISK READ) 和寫 (DISK WRITE) 硬碟的量,而不是顯示記憶體的使用資訊。
sudo iotop
如果想要顯示成累計讀寫硬碟的資料量的話,就需要像下面這行一樣,在 iotop 指令後面加上 「-a 」選項。
sudo iotop -a
除了「-a」選項之外,iotop 還有幾個阿舍覺得比較實用的選項,所以,就來說明一下,下面就是這幾個選項的用法及用途,而要說明的是,這下面這幾個選項和前面提到的「-a」選項都是可以合併使用的,不需要一次只能使用一個選項哩 !
sudo iotop -o
如果加了「-o」選項,那麼 iotop 就只會顯示正在讀寫硬碟的程式,如果沒有程式在讀寫的話,就不會出現任何的程式哩 !
sudo iotop -d 10
「-d」 選項是用來設定 iotop 更新的頻率,預設是 1 秒鐘,如果要改成 10 秒更新一次的話,就要用上面這一行指令來調整。
sudo iotop -p 3093
如果想要只針對某一支正在執行中的程式來監看的話,那麼就會需要用「-p」選項加上要監看的程式的 PID,這樣 iotop 就只會出現這個 PID 的硬碟讀取情形哩 !
sudo iotop -u arthuryu
用「-p」選項可以監看特定程式,而使用「-u」選項的話,則是可以監看特定使用者所啟動的程式對硬碟的讀取情形,但是,和「-p」選項不同的是,「-u」選項後面要帶入的曞人使用者的帳號名稱而不是代碼哩 !
最後,阿舍要說明的是 iotop 的批次模式 (batch),iotop 的批次模式會將程式讀寫硬碟的資料依序送到指定的輸出裝置,所以,批次模式適合用來將 iotop 所產出的結果寫到檔案來供程式或處理時使用,而要啟用批次模式的話,需要使用「-b」選項,然後,可以搭配「-t」選項來要求在產出的資料上,加註日期和時間,同時,也能使用「-n」選項來要求產出幾次資料後停止哩 !
舉例來說,如果要讓 iotop 以批次方式產出三次資料到 io.log 檔案,然後,只產出正在讀取硬碟中的程式,並且,在產出的資料上加時間的話,那麼 iotop 就要用下一面這一行的方式來執行哩 !
sudo iotop -bot -n 3 > io.log
參考資料
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
4 則留言 :
請問server上也可以用嗎?我的主機固定會有很大量的I/O 忽然出現,可以用這個來監督嗎?
請問如果要記錄 某一段時間,例如晚上12:00-1:00 之間的硬碟使用情況呢?指令應該怎麼下,我是用linode vps,謝謝!
Hello,
建議利用 Cron 排程,搭配 iotop 的批次功能(上文最後一行指令),應該就可以了哩 !
供參囉 !! ^^=
sudo iotop -bot -n 3 > io.log
不好意思,這段我看不懂
我想監測24小時來抓看看
可以一直常駐嗎?
指令該怎麼改?
張貼留言
歡迎留言提問和討論 .... 😁