1. 程式人生 > >Linux 學習總結(二十三)系統管理技巧2

Linux 學習總結(二十三)系統管理技巧2

nload free ps netstat tcpdump

1 監控io性能

nload -x
技術分享圖片
%util 項 數字過大,說明io性能差,有可能是磁盤老化,或者磁盤本身故障。
iotop 命令 也是動態顯示,類似於top ,可以查看磁盤的讀寫速度
查看內存使用情況

2 free -h

查看內存情況
技術分享圖片
這裏有個關系:
toal=used+free+buff/cache
avavilable=free+剩余的buff/cache
所以查看剩余內存,以available為主,可以認為free和used都是按物理內存來定義

3 ps 查看進程

ps aux |grep mysql 過濾出某個進程
a 顯示現行終端機下的所有程序,包括其他用戶的程序
u 以用戶為主的格式來顯示程序狀況

x 顯示所有程序,不以終端機來區分
過濾出某個進程
用法: ps aux 或者ps -elf
技術分享圖片
STAT 部分說明
D 不能中斷的進程
R run狀態的進程
S sleep 狀態的進程
T 暫停的進程
Z 僵屍進程
< 高優先級進程
N 低優先級進程
L 內存中被鎖了內存分頁
s 主進程
l 多線程進程
+ 前臺進程

4 netstat

監控網絡狀態,監聽端口
netstat -lnp
-l 僅列出有在 Listen (監聽) 的服務狀態
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-p 顯示建立相關鏈接的程序名
netstat -lnp |grep +端口號或者服務名稱
就可以查看某個服務是否啟動了,也可以用ps查看進程
netstat -ltnp

只查看tcp
netstat -lunp 只查看udp
技術分享圖片
netstat -an 列出所有端口狀態
技術分享圖片
如果你所管理的服務器是一臺提供web服務(80端口)的服務器,那麽你就可以使用netstat -an |grep 80 查看當前連接web服務的有哪些IP
小技巧
netstat -an |awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,"\t",sta[key]}‘
技術分享圖片
統計出tcp開頭的監聽狀態以及連接狀態的數目

5 tcpdump 抓包工具

tcpdump -nn -i +網卡名
技術分享圖片
我們重點看下第三列和第四列,哪一個IP+port在連接哪一個IP+port

Linux 學習總結(二十三)系統管理技巧2