time
如果想查看單個程序的耗時,可以使用time命令。

time_sh.jpg
序名之前加上time命令,會在程序執(zhí)行完畢以后,默認顯示三行統(tǒng)計。
real:程序從開始運行到結束的全部時間,這是用戶能感知到的時間,包括 CPU 切換去執(zhí)行其他任務的時間。
user:程序在 User space 執(zhí)行的時間
sys:程序在 Kernel space 執(zhí)行的時間
user和sys之和,一般情況下,應該小于real。但如果是多核 CPU,這兩個指標反映的是所有 CPU 的總耗時,所以它們之和可能大于real.
lsblk
查看設備磁盤分區(qū)及掛載情況,參數(shù)-h為幫助

lsblk.jpg
strace
內核運行過程追蹤(系統(tǒng)調用追蹤)
程序執(zhí)行的指令前面直接加上這個命令即可
比如我想監(jiān)控java 運行某個文件產生的系統(tǒng)調用
## strace -ff -o fileName java SocketBIO
java SocketBIO: 監(jiān)控這個程序產生的系統(tǒng)調用
-ff -o: 將輸出打印到名字為fileName的文件中