性能監控和優化命令
????top

????????命令功能:顯示當前系統正在執行的進程的相關信息,包括進程ID、內存占用率、CPU占用率等

????????常用參數:

????????????-d????屏幕刷新間隔時間

????????屏幕信息解釋字段說明:

????????????第一行:

????????????????top????當前系統時間

????????????????up????系統運行時間

????????????????user????當前登錄用戶數

????????????????load average????系統負載

????????????第二行

????????????????Tasks????進程總數

????????????????running????正在運行的進程數

????????????????sleeping????休眠進程數

????????????????stopped????停止進程數

????????????????zombie????????凍結進程數

????????????第三行

????????????????CPU(s)????用戶空間cpu占用百分比

????????????????sy????內核空間占用cpu百分比

????????????????nl????用戶進程空間內改變過優先級的進程占用CPU百分比

????????????????id????空閑cpu百分比

????????????第四行

????????????????Mem total????物理內存總量

????????????????used????已使用的物理內存總量

????????????????free????空閑內存總量

????????????????buffers????用作內核緩存的內存量

????????????第五行

????????????????swap????交換區總量

????????????????used????已使用的交換區總量

????????????????free????空閑交換區總量

????????????????cached????緩沖交換區總量


????free

????????命令功能:顯示當前系統內存情況

????????參數

????????????-b????以byte為單位顯示內存使用情況

????????????-k????以kb為單位顯示內存使用情況

????????????-m????以mb為單位顯示內存使用情況

????????????-s????持續顯示內存使用情況

????????顯示信息字段說明

????????????total:內存總數

????????????used:已經使用的內存數

????????????free:空閑的內存數

????????????shared:當前已經廢棄不用

????????????buffers Buffer:緩存內存數

????????????cached Page:緩存內存數。


? ? vmstat

????????命令功能:顯示虛擬內存狀態

????????參數:

????????????-a????顯示活動內頁

????????????-f????顯示啟動后創建的進程總數

????????????-s????顯示時間計數器和內存狀態

????????????-d????報告磁盤狀態

????????????-p????顯示指定的磁盤翻去狀態

????????字段說明:

? ??????????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資源都會被消耗。

????????????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: 空閑時間百分比



????iostat

????????命令功能:監視系統輸入輸出設備和CPU的使用情況

????????參數

????????????-c????顯示cpu的使用情況

????????????-d????顯示設備利用率

????????????-k????顯示狀態以kb為單位

????????????-m????顯示狀態以mb為單位

????????????-p????顯示塊設備和所有被使用的其他分區的狀態


????lsof

????????命令功能:用于查看你進程開打的文件,打開文件的進程,進程打開的端口(TCP、UDP)。找回/恢復刪除的文件

????????參數:


????????????-a????列出打開文件存在的進程

????????????-c????列出指定進程所打開的文件

????????????-g????列出GID進程詳情

????????????-d????列出占用該文件的進程

????????????-D????遞歸列出目錄下被打開的文件

????????????-i????列出符合條件的進程

????????????-p????列出進程號所打開的文件

????????????-u????列出UID號的進程詳情? ?


網絡命令
????ifconfig

????????命令功能:用于配置和顯示Linux內核中網絡接口的網絡參數

????????常用參數:

????????????up????啟動指定網絡設備

????????????down????關閉指定網絡設備


????route

????????命令功能:顯示并設置Linux內核中的網絡路由信息


????????選項:

????????????-n????不反解地址到主機名

????????????-A????設置地址類型

????????????-C????顯示linux核心路由緩存

????????????-e????netstat格式顯示路由表

????????????-net????到一個網絡的路由表

????????????-host????到一個主機的路由表

????????參數:

????????????add????增加指定的路由記錄

????????????del????刪除指定的路由記錄

????????????gw????設置默認的網關

????????????

? ? ping


????????命令功能:測試主機之間網絡的連通性

????? ? 常用參數:

????????????-c????設置完成要求回應的次數

????????????-i????指定首發信息的間隔時間

????????????

????netstat

????????命令功能:輸出Linux中網絡系統的狀態信息

????????常用參數:

????????????-a????列出所有端口

????????????-t????tcp傳輸協議

????????????-u????udp傳輸協議

????????????-l????顯示監聽端口

????????????-n????直接使用ip地址,而不通過域名服務器


????ss

????????命令功能:顯示處于活動狀態的套接字

????????常用參數:

????????????-a????顯示所有套接字

????????????-t????顯示tcp套接字

????????????-l????顯示處于監聽狀態的套接字


????telnet

????????命令功能:登錄遠程主機,對遠程主機進行管理

????

????rcp

????????命令功能:兩臺Linux主機之間的文件復制操作更簡單


????scp(常用)

????????命令功能:在Linux下進行遠程拷貝文件的命令? ? ????

????????參數:

????????????-a 復制文件的權限

????????????-r 復制目錄

????????????-f 若目的地已經有相同檔名的檔案存在,則在復制前先予以刪除再行復制。

????????????-v 顯示進度

????????????-P 端口

????????示例:

????????????scp local_file remote_username@remote_ip:remote_folder?

????????????scp 文件 用戶@ip:路徑