共計 2294 個字符,預(yù)計需要花費 6 分鐘才能閱讀完成。
這篇文章主要講解了“Linux 中有哪些實用技巧”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux 中有哪些實用技巧”吧!
重點:
① 學(xué)會查看 linux 各種狀態(tài),包括:網(wǎng)絡(luò) IO、磁盤、CPU、內(nèi)存等;
② 學(xué)會理解命令所代表的含義,能夠迅速發(fā)現(xiàn)集群存在的問題。
1、核心命令
linux 監(jiān)控網(wǎng)絡(luò) IO、磁盤、CPU、內(nèi)存:
CPU:vmstat、sar –u、top
磁盤 IO:iostat –xd、sar –d、top
網(wǎng)絡(luò) IO:iftop -n、ifstat、dstat –nt、sar -n DEV 2 3
磁盤容量:df –h
內(nèi)存使用:free –m、top
2、常用命令
(1)內(nèi)存:條數(shù)、每條大小、內(nèi)存是 DDR4 還是 DDR3、內(nèi)存頻率是 2666MT/ S 還是 1600MT/s
條數(shù):dmidecode|grep -A5 Memory Device |grep Size | grep -v Installed |wc -l
每條大小: dmidecode|grep -A5 Memory Device |grep Size | grep -v Installed |uniq
內(nèi)存類型: dmidecode | grep -A16 Memory Device | grep Type: |grep -v Unknown |uniq
內(nèi)存頻率: dmidecode | grep -A16 Memory Device | grep Speed |grep -v Unknown |uniq
(2)硬盤:塊數(shù),大小
fdisk -l | grep Disk /dev/sd
(3)查看什么進程占用端口
netstat -antp | fgrep port
(4)查看進程資源
jps -l # 獲取進程 id
jmap -heap 21046
(5)CPU 個數(shù)
cat /proc/cpuinfo| grep physical id | sort| uniq| wc -l
(6)CPU 核數(shù)
cat /proc/cpuinfo| grep cpu cores | uniq
(7)CPU 主頻
cat /proc/cpuinfo| grep model name | uniq
3、核心命令詳解 3.1、ps aux
ps 命令用于查看系統(tǒng)中的進程狀態(tài)
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
● USER,進程所有者的用戶名。
● PID,進程號,可以唯一標(biāo)識該進程。
● %CPU,進程自最近一次刷新以來所占用的 CPU 時間和總時間的百分比。
● %MEM,進程使用內(nèi)存的百分比。
● VSZ,進程使用的虛擬內(nèi)存大小,以 K 為單位。
● RSS,進程占用的物理內(nèi)存的總數(shù)量,以 K 為單位。
● TTY,進程相關(guān)的終端名。
● STAT,進程狀態(tài),用 (R– 運行或準(zhǔn)備運行;S– 睡眠狀態(tài);I– 空閑;Z– 凍結(jié);D– 不間斷睡眠;W- 進程沒有駐留頁;T 停止或跟蹤。) 這些字母來表示。
● START,進程開始運行時間。
● TIME,進程使用的總 CPU 時間。
● COMMAND,被執(zhí)行的命令行。
3.2、Top
top 命令是 Linux 下常用的性能分析工具,能夠?qū)崟r顯示系統(tǒng)中各個進程的資源占用狀況,類似于 Windows 的任務(wù)管理器。
1、上半部分顯示了整體系統(tǒng)負載情:
top 一行:從左到右依次為當(dāng)前系統(tǒng)時間,系統(tǒng)運行的時間,系統(tǒng)在之前 1min、5min 和 15min 內(nèi) cpu 的平均負載值
Tasks 一行:該行給出進程整體的統(tǒng)計信息,包括統(tǒng)計周期內(nèi)進程總數(shù)、運行狀態(tài)進程數(shù)、休眠狀態(tài)進程數(shù)、停止?fàn)顟B(tài)進程數(shù)和僵死狀態(tài)進程數(shù)
Cpu(s)一行:cpu 整體統(tǒng)計信息,包括用戶態(tài)下進程、系統(tǒng)態(tài)下進程占用 cpu 時間比,nice 值大于 0 的進程在用戶態(tài)下占用 cpu 時間比,cpu 處于 idle 狀態(tài)、wait 狀態(tài)的時間比,以及處理硬中斷、軟中斷的時間比
Mem 一行:該行提供了內(nèi)存統(tǒng)計信息,包括物理內(nèi)存總量、已用內(nèi)存、空閑內(nèi)存以及用作緩沖區(qū)的內(nèi)存量
Swap 一行:虛存統(tǒng)計信息,包括交換空間總量、已用交換區(qū)大小、空閑交換區(qū)大小以及用作緩存的交換空間大小
2、下半部分顯示了各個進程的運行情況:
PID: 進程 pid
USER: 拉起進程的用戶
PR: 該列值加 100 為進程優(yōu)先級,若優(yōu)先級小于 100,則該進程為實時 (real-time) 進程,否則為普通 (normal) 進程,實時進程的優(yōu)先級更高,更容易獲得 cpu 調(diào)度,以上輸出結(jié)果中,java 進程優(yōu)先級為 120,是普通進程,had 進程優(yōu)先級為 2,為實時進程,migration 進程的優(yōu)先級 RT 對應(yīng)于 0,為最高優(yōu)先級
NI: 進程的 nice 優(yōu)先級值,該列中,實時進程的 nice 值為 0,普通進程的 nice 值范圍為 -20~19
VIRT: 進程所占虛擬內(nèi)存大小(默認單位 kB)
RES: 進程所占物理內(nèi)存大小(默認單位 kB)
SHR: 進程所占共享內(nèi)存大小(默認單位 kB)
S: 進程的運行狀態(tài)
%CPU: 采樣周期內(nèi)進程所占 cpu 百分比
%MEM: 采樣周期內(nèi)進程所占內(nèi)存百分比
TIME+: 進程使用的 cpu 時間總計
COMMAND: 拉起進程的命令
1、遇到問題不要慌。根據(jù)經(jīng)驗,再通過命令排查內(nèi)存、磁盤、網(wǎng)絡(luò)、cpu,問題無非就這幾類,切不可著急忙慌亂改一通,讓簡單問題復(fù)雜化。
2、根據(jù)以上命令,提前設(shè)置監(jiān)控預(yù)警。監(jiān)控預(yù)警能夠讓你及時發(fā)現(xiàn)系統(tǒng)的性能信息、比如磁盤快滿了,內(nèi)存超負荷了,我們可以提前作出調(diào)整。
感謝各位的閱讀,以上就是“Linux 中有哪些實用技巧”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對 Linux 中有哪些實用技巧這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!