開心一笑
【1.年輕的時候懈凹,我們常常沖著鏡子做鬼臉鱼蝉,年老的時候,鏡子算是扯平了睛琳。2.男孩窮者養(yǎng)杂腰,不然不曉得奮斗,女孩富著養(yǎng),不然人家一塊蛋糕就哄走了。3.如果婚姻是愛情的墳墓猩谊,那么我期待有一個人把我埋了。4.睡眠是是一門藝術祭刚,誰也不能阻擋我追求藝術的腳步牌捷。5.打死你我也不會說∥型裕】
提出問題
Linux服務器查看性能常用的命令有哪些???
解決問題
最近工作的任務就是做公司系統(tǒng)性能調優(yōu)暗甥。其中用的比較多的命令,在這里總結下遮怜,大多數都是參考網上大神整理的淋袖。我只是把我用到的命令提煉整理下:
輸出系統(tǒng)日志最后10行 dmesg | tail
ubuntu@ubuntu:~$ dmesg | tail
[38060.138072] e1000: eno16777736 NIC Link is Down
[38068.362442] e1000: eno16777736 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[38070.366445] e1000: eno16777736 NIC Link is Down
[38076.376947] e1000: eno16777736 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[38084.386812] e1000: eno16777736 NIC Link is Down
[38090.411818] e1000: eno16777736 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[38480.597723] e1000: eno16777736 NIC Link is Down
[38495.064487] e1000: eno16777736 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[38607.910407] IPv6: ADDRCONF(NETDEV_UP): eno16777736: link is not ready
[38607.978329] e1000: eno16777736 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
該命令會輸出系統(tǒng)日志的最后10行鸿市。這些日志可以幫助排查性能問題锯梁。
top命令
top命令是進行性能分析最常使用的命令,也是最重要的命令焰情。每個參數代表什么意思陌凳,都必須非常清楚。
top - 07:01:15 up 10:57, 3 users, load average: 0.00, 0.04, 0.13
Tasks: 238 total, 1 running, 237 sleeping, 0 stopped, 0 zombie
%Cpu(s): 3.4 us, 3.8 sy, 0.0 ni, 92.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 2040024 total, 2020312 used, 19712 free, 11220 buffers
KiB Swap: 3142652 total, 927204 used, 2215448 free. 121276 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6844 root 20 0 333020 20520 3600 S 6.0 1.0 29:48.44 Xorg
61687 ubuntu 20 0 1635056 43716 18108 S 3.6 2.1 5:00.27 compiz
5444 ubuntu 20 0 3765292 875688 10020 S 2.7 42.9 42:13.69 java
6788 root 20 0 293028 9284 1112 S 2.3 0.5 0:51.92 dockerd
5175 ubuntu 20 0 578736 22496 14888 S 1.7 1.1 0:04.60 gnome-terminal-
27 root 39 19 0 0 0 S 0.7 0.0 0:09.02 khugepaged
7932 ubuntu 20 0 3060636 16560
top命令包含了前面好幾個命令的檢查的內容内舟。比如系統(tǒng)負載情況(uptime)合敦、系統(tǒng)內存使用情況(free)、系統(tǒng)CPU使用情況(vmstat)等验游。因此通過這個命令充岛,可以相對全面的查看系統(tǒng)負載的來源。同時耕蝉,top命令支持排序崔梗,可以按照不同的列排序,方便查找出諸如內存占用最多的進程垒在、CPU占用率最高的進程等蒜魄。
但是,top命令相對于前面一些命令场躯,輸出是一個瞬間值谈为,如果不持續(xù)盯著,可能會錯過一些線索踢关。這時可能需要暫停top命令刷新伞鲫,來記錄和比對數據。
第一行:
top - 07:01:15 up 10:57, 3 users, load average: 0.00, 0.04, 0.13
解釋:
07:01:15 當前時間
up 10:57 系統(tǒng)運行時間签舞,格式為時:分
3 user 當前登錄用戶數
load average: 0.00, 0.04, 0.13 系統(tǒng)負載秕脓,即任務隊列的平均長度驹闰。三個數值分別為 1分鐘、5分鐘撒会、15分鐘前到現在的平均值嘹朗。
第二行和第三行,當有多個CPU時诵肛,這些內容可能會超過兩行屹培。內容如下:
total 進程總數
running 正在運行的進程數
sleeping 睡眠的進程數
stopped 停止的進程數
zombie 僵尸進程數
Cpu(s):
3.4% us 用戶空間占用CPU百分比
3.8% sy 內核空間占用CPU百分比
0.0% ni 用戶進程空間內改變過優(yōu)先級的進程占用CPU百分比
92.8% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時間百分比
0.0%hi:硬件CPU中斷占用百分比
0.0%si:軟中斷占用百分比
0.0%st:虛擬機占用百分比
最后兩行為內存信息。內容如下:
Mem:
2040024 total 物理內存總量
2020312 used 使用的物理內存總量
17616k free 空閑內存總量
11220 buffers 用作內核緩存的內存量
Swap:
3142652 total 交換區(qū)總量
927204 used 使用的交換區(qū)總量
2215448 free 空閑交換區(qū)總量
121276 cached 緩沖的交換區(qū)總量,內存中的內容被換出到交換區(qū)怔檩,而后又被換入到內存褪秀,但使用過的交換區(qū)尚未被覆蓋,該數值即為這些內容已存在于內存中的交換區(qū)的大小,相應的內存再次被換出時可不必再對交換區(qū)寫入薛训。
進程信息區(qū)統(tǒng)計信息區(qū)域的下方顯示了各個進程的詳細信息媒吗。首先來認識一下各列的含義。
序號 列名 含義
a PID 進程id
b PPID 父進程id
c RUSER Real user name
d UID 進程所有者的用戶id
e USER 進程所有者的用戶名
f GROUP 進程所有者的組名
g TTY 啟動進程的終端名乙埃。不是從終端啟動的進程則顯示為 ?
h PR 優(yōu)先級
i NI nice值闸英。負值表示高優(yōu)先級,正值表示低優(yōu)先級
j P 最后使用的CPU介袜,僅在多CPU環(huán)境下有意義
k %CPU 上次更新到現在的CPU時間占用百分比
l TIME 進程使用的CPU時間總計甫何,單位秒
m TIME+ 進程使用的CPU時間總計,單位1/100秒
n %MEM 進程使用的物理內存百分比
o VIRT 進程使用的虛擬內存總量遇伞,單位kb辙喂。VIRT=SWAP+RES
p SWAP 進程使用的虛擬內存中,被換出的大小鸠珠,單位kb巍耗。
q RES 進程使用的、未被換出的物理內存大小渐排,單位kb炬太。RES=CODE+DATA
r CODE 可執(zhí)行代碼占用的物理內存大小,單位kb
s DATA 可執(zhí)行代碼以外的部分(數據段+棧)占用的物理內存大小飞盆,單位kb
t SHR 共享內存大小娄琉,單位kb
u nFLT 頁面錯誤次數
v nDRT 最后一次寫入到現在,被修改過的頁面數吓歇。
w S 進程狀態(tài)(D=不可中斷的睡眠狀態(tài),R=運行,S=睡眠,T=跟蹤/停止,Z=僵尸進程)
x COMMAND 命令名/命令行
y WCHAN 若該進程在睡眠孽水,則顯示睡眠中的系統(tǒng)函數名
z Flags 任務標志,參考 sched.h
查詢登錄當前系統(tǒng)的用戶信息:w命令
ubuntu@ubuntu:~$ w
20:15:44 up 11:17, 3 users, load average: 0.21, 0.16, 0.16
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ubuntu :0 :0 Thu00 ?xdm? 30:09 1.63s /sbin/upstart --user
ubuntu pts/7 :0 Thu23 45:01m 42:57 8.80s /home/ubuntu/inno/idea-IU-162.2032.8/bin/fsnotifier64
ubuntu pts/18 :0 06:47 0.00s 0.47s 0.05s w
可查詢登錄當前系統(tǒng)的用戶信息城看,以及這些用戶目前正在做什么操作
iostat
運行時女气,如果出現下面的提示信息
ubuntu@ubuntu:~$ iostat
The program 'iostat' is currently not installed. You can install it by typing:
sudo apt-get install sysstat
執(zhí)行下 sudo apt-get install sysstat 即可。
Iostat提供三個報告:CPU利用率测柠、設備利用率和網絡文件系統(tǒng)利用率炼鞠,使用-c缘滥,-d和-h參數可以分別獨立顯示這三個報告。
內存分析命令:free m
ubuntu@ubuntu:~$ free -m
total used free shared buffers cached
Mem: 1992 672 1320 6 22 209
-/+ buffers/cache: 440 1552
Swap: 3068 403 2665
free: 查看系統(tǒng)內存的使用情況谒主,-m參數表示按照兆字節(jié)展示朝扼。
最后兩列分別表示用于IO緩存的內存數,和用于文件系統(tǒng)頁緩存的內存數霎肯。需要注意的是擎颖,第二行-/+ buffers/cache,看上去緩存占用了大量內存空間观游。這是Linux系統(tǒng)的內存使用策略搂捧,盡可能的利用內存,如果應用程序需要內存懂缕,這部分內存會立即被回收并分配給應用程序允跑。因此,這部分內存一般也被當成是可用內存搪柑。如果可用內存非常少聋丝,系統(tǒng)可能會動用交換區(qū)(如果配置了的話),這樣會增加IO開銷(可以在iostat命令中提現)拌屏,降低系統(tǒng)性能潮针。
查看CPU的占用情況 mpstat
顯示每個CPU的占用情況,如果有一個CPU占用率特別高倚喂,那么有可能是一個單線程應用程序引起的。
ubuntu@ubuntu:~$ mpstat -P ALL 1
Linux 4.2.0-16-generic (ubuntu) 04/30/2017 _x86_64_ (2 CPU)
10:57:30 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:57:31 PM all 1.52 0.00 0.51 0.00 0.00 0.51 0.00 0.00 0.00 97.47
10:57:31 PM 0 3.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 96.97
10:57:31 PM 1 0.00 0.00 0.00 0.00 0.00 1.02 0.00 0.00 0.00 98.98
讀書感悟
來自《罪與罰》
- 人這種卑鄙的東西瓣戚,什么都會習慣的端圈。
- 我唯一擔心的是我們明天的生活能否配得上今天所承受的苦難。
- 胡扯是一切生物種只有人類享有的唯一特權子库。通過胡扯舱权,可以得到真理。
- 憑良心行事仑嗅,可以不惜流血宴倍。
- 貧窮不是罪惡,而極貧就是一種罪惡仓技。
- 我可以不是英雄鸵贬,但要做一名勇士。
經典故事
【那天跟老公幸運地訂到了票回婆家脖捻,上次后卻發(fā)現有位女士坐在我們的位子上阔逼,老公示意我先坐在她旁邊的位子,卻沒有請這位女士讓位地沮。我仔細一看嗜浮,發(fā)現她右腳有一點不方便羡亩,才了解老公為何不請它讓出位子。他就這樣從嘉義一直站到臺北危融,從頭到尾都沒向這位女士表示這個位子是他的畏铆,下了車之后,心疼老公的我跟他說:“讓位是善行吉殃,但從嘉義到臺北這么久及志,大可中途請她把位子還給你,換你坐一下”老公說:"人家不方便是一輩子寨腔,我們就不方便三小時而已”速侈。聽到老公這么說,我相對感動迫卢,有這么一位善良又為善不欲人知的好老公倚搬,讓我覺得世界變得溫柔很多。心念一轉乾蛤,世界可能從此不同每界,人生中,每一件事情家卖,都有轉向的能力眨层,就看我們怎么想,怎么轉上荡∨坑#】
大神文章
如何用命令檢查Linux服務器性能
linux服務器性能查看
監(jiān)控 Linux 性能的 18 個命令行工具
幾條簡單命令檢查Linux服務器性能
用十條命令在一分鐘內檢查Linux服務器性能
linux的top命令參數詳解
其他
如果有帶給你一絲絲小快樂,就讓快樂繼續(xù)傳遞下去酪捡,歡迎點贊叁征、頂、歡迎留下寶貴的意見逛薇、多謝支持捺疼!