一、wget 文件下載
二、scp 跨機遠程拷貝
三、sar
sar 是System Activity Reporter(系統活動情況報告)的縮寫。sar工具將對系統當前的狀態進行取樣,然后通過計算數據和比例來表達系統的當前運行狀態。它的特點是可以連續對系統取樣,獲得大量的取樣數據;取樣數據和分析的結果都可以存入文件,所需的負載很小。sar是目前Linux上最為全面的系統性能分析工具之一,可以從14個大方面對系統的活動進行報告,包括文件的讀寫情況、系統調用的使用情況、串口、CPU效率、內存使用狀況、進程活動及IPC有關的活動等,使用也是較為復雜。
查看CPU使用率: sar -u 1 2 (后面兩個參數表示監控的頻率,比如例子中的1和2,表示每秒采樣一次,總共采樣兩次)
- %user 用戶模式下消耗的CPU時間的比例;
- %nice 通過nice改變了進程調度優先級的進程,在用戶模式下消耗的CPU時間的比例
- %system 系統模式下消耗的CPU時間的比例;
- %iowait CPU等待磁盤I/O導致空閑狀態消耗的時間比例;
- %steal 利用Xen等操作系統虛擬化技術,等待其它虛擬CPU計算占用的時間比例;
- %idle CPU空閑時間比例;
查看CPU平均負載: sar -q 1 2
- runq-sz:運行隊列的長度(等待運行的進程數)
- plist-sz:進程列表中進程(processes)和線程(threads)的數量
- ldavg-1:最后1分鍾的系統平均負載
- ldavg-5:過去5分鍾的系統平均負載
- ldavg-15:過去15分鍾的系統平均負載
查詢內存: sar -r 1 2
- kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間.
- kbmemused:這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間.
- %memused:物理內存使用率,這個值是kbmemused和內存總量(不包括swap)的一個百分比.
- kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
- kbcommit:保證當前系統所需要的內存,即為了確保不溢出而需要的內存(RAM+swap).
- %commit:這個值是kbcommit與內存總量(包括swap)的一個百分比.
查詢頁面交換:sar -W 1 3
- pswpin/s:每秒系統換入的交換頁面(swap page)數量
- pswpout/s:每秒系統換出的交換頁面(swap page)數量
四、free

- total:內存總數
- used:已經使用的內存數
- free:空閑的內存數
- shared:當前已經廢棄不用
- buffers Buffer:緩存內存數
五、iostat
被用於監視系統輸入輸出設備和CPU使用情況,它的特點是匯報磁盤活動統計情況,同時也會匯報出CPU的使用情況。
- tps:該設備每秒的傳輸次數;
- kB_read/s:每秒從設備(drive expressed)讀取的數據量;
- kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;
- kB_read:讀取的總數據量;kB_wrtn:寫入的總數量數據量;
六、vmstat
顯示虛擬內存狀態,但是他可以報告關於進程、內存、I/O等系統運行狀態。
Procs(進程)
r: 運行隊列中進程數量,這個值也可以判斷是否需要增加CPU。(長期大於1)
b: 等待IO的進程數量。
Memory(內存)
swpd: 使用虛擬內存大小,如果swpd的值不為0,但是SI,SO的值長期為0,這種情況不會影響系統性能。
free: 空閑物理內存大小。
buff: 用作緩沖的內存大小。
cache: 用作緩存的內存大小,如果cache的值大的時候,說明cache處的文件數多,如果頻繁訪問到的文件都能被cache處,那么磁盤的讀IO bi會非常小。
Swap
si: 每秒從交換區寫到內存的大小,由磁盤調入內存。
so: 每秒寫入交換區的內存大小,由內存調入磁盤。
注意:內存夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統性能會受到影響,磁盤IO和CPU資源都會被消耗。有些朋友看到空閑內存(free)很少的或接近於0時,就認為內存不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那么不用擔心,系統性能這時不會受到影響的。
IO(現在的Linux版本塊的大小為1kb)
bi: 每秒讀取的塊數
bo: 每秒寫入的塊數
注意:隨機磁盤讀寫的時候,這2個值越大(如超出1024k),能看到CPU在IO等待的值也會越大。
system(系統)
in: 每秒中斷數,包括時鍾中斷。
cs: 每秒上下文切換數。
注意:上面2個值越大,會看到由內核消耗的CPU時間會越大。
CPU(以百分比表示)
us: 用戶進程執行時間百分比(user time)
us的值比較高時,說明用戶進程消耗的CPU時間多,但是如果長期超50%的使用,那么我們就該考慮優化程序算法或者進行加速。
sy: 內核系統進程執行時間百分比(system time)
sy的值高時,說明系統內核消耗的CPU資源多,這並不是良性表現,我們應該檢查原因。
wa: IO等待時間百分比
wa的值高時,說明IO等待比較嚴重,這可能由於磁盤大量作隨機訪問造成,也有可能磁盤出現瓶頸(塊操作)。
id: 空閑時間百分比
七、 top
可以實時動態地查看系統的整體運行情況,是一個綜合了多方信息監測系統性能和運行信息的實用工具,是Linux下的任務管理器。通過top命令所提供的互動式界面,用熱鍵可以管理。熱鍵如下:
- q:退出top命令
- <Space>:立即刷新
- s:設置刷新時間間隔
- c:顯示命令完全模式
- t::顯示或隱藏進程和CPU狀態信息
- m:顯示或隱藏內存狀態信息
- l:顯示或隱藏uptime信息
- f:增加或減少進程顯示標志
- S:累計模式,會把已完成或退出的子進程占用的CPU時間累計到父進程的MITE+
- P:按%CPU使用率排行
- T:按MITE+排行
- M:按%MEM排行
- u:指定顯示用戶進程
- r:修改進程renice值
- kkill:進程
- i:只顯示正在運行的進程
- W:保存對top的設置到文件^/.toprc,下次啟動將自動調用toprc文件的設置。
- h:幫助命令。
- q:退出
注:強調一下,使用頻率最高的是P、T、M,因為通常使用top,我們就想看看是哪些進程最耗cpu資源、占用的內存最多; 注:通過”shift + >”或”shift + <”可以向右或左改變排序列 如果只需要查看內存:可用free命令。只查看uptime信息(第一行),可用uptime命令;
第一行
-
- 11:57:12 : 系統當前時間
- , 2:45 : 系統開機到現在經過了多少時間
- 3 users : 當前3用戶在線
- load average: 0.19, 0.17, 0.14: 系統1分鍾、5分鍾、15分鍾的CPU負載信息
第二行
-
- Tasks:任務;
- 205 total:很好理解,就是當前有205個任務,也就是205個進程。
- 2 running:2個進程正在運行
- 203 sleeping:203個進程睡眠
- 0 stopped:停止的進程數
- 0 zombie:僵死的進程數
第三行
-
- Cpu(s):表示這一行顯示CPU總體信息
- 9.1%us:用戶態進程占用CPU時間百分比,不包含renice值為負的任務占用的CPU的時間。
- 1.3%sy:內核占用CPU時間百分比
- 0.0%ni:改變過優先級的進程占用CPU的百分比
- 89.6%id:空閑CPU時間百分比
- 0.0%wa:等待I/O的CPU時間百分比
- 0.0%hi:CPU硬中斷時間百分比
- 0.0%si:CPU軟中斷時間百分比
- 注:這里顯示數據是所有cpu的平均值,如果想看每一個cpu的處理情況,按1即可;折疊,再次按1;
第四行
-
- Men:內存的意思
- total:物理內存總量
- used:使用的物理內存量
- free:空閑的物理內存量
- buffers:用作內核緩存的物理內存量
第五行
-
- Swap:交換空間
- total:交換區總量
- used:使用的交換區量
- free:空閑的交換區量
- cached:緩沖交換區總量
進程信息
-
- PID:進程的ID
- USER:進程所有者
- PR:進程的優先級別,越小越優先被執行
- NInice:值
- VIRT:進程占用的虛擬內存
- RES:進程占用的物理內存
- SHR:進程使用的共享內存
- S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
- %CPU:進程占用CPU的使用率
- %MEM:進程使用的物理內存和總內存的百分比
- TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。
- COMMAND:進程啟動命令名稱
八、結語
博主只是一個Linux菜鳥。秉着先博后淵的原則,看到了這些知識,就先記下了,之后具體用到的時候再深究吧。才疏學淺,說的不對的地方,還請大家指正,歡迎討論。另外在Github上發現了一個Linux命令搜索工具,很好用,介紹給大家:https://jaywcjlove.github.io/linux-command/