0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux高頻命令終極指南

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2024-12-05 16:53 ? 次閱讀

查看日志

1、系統(tǒng)今日小于warning級(jí)別的日志

man journalctl | grep -C 2 "debug" | journalctl -xen all --since today -p warning [-o json | -o json-pretty] 

2、 系統(tǒng)啟動(dòng)日志、內(nèi)核日志

# 啟動(dòng) journalctl -b [-0] 
# 內(nèi)核 journalctl -k 

3、指定服務(wù)或進(jìn)程最新日志

# 指定服務(wù) journalctl -xen 10 -fu sshd 
# 指定進(jìn)程 ss -tnlp | grep -P '(?<=pid=)d+' 
journalctl -xen 10 _PID=1 -f 
journalctl /usr/bin/bash 

4、管理日志

# 空間使用 journalctl --disk-usage 
# 保留500M journalctl --vacuum-size 500M 
# 保留1年 journalctl --vacuum-time 1years 

巡檢命令

//查看系統(tǒng)cpu使用情況
top
//查看所有cpu信息
mpstat-PALL1
//查看cpu使用情況以及平均負(fù)載
vmstat1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 1379800   2188 2044368    0    0     0     2    1    1  0  0 100  0  0
 0  0      0 1379676   2188 2044400    0    0     0     0  398  805  0  0 100  0  0
 0  0      0 1379552   2188 2044400    0    0     0     0  371  804  0  0 100  0  0
 0  0      0 1379552   2188 2044400    0    0     0     0  346  766  1  1 99  0  0
一般r的數(shù)量不超過(guò)CPU核數(shù)數(shù)量

//進(jìn)程cpu的統(tǒng)計(jì)信息
pidstat-u1-ppid
//跟蹤進(jìn)程內(nèi)部函數(shù)級(jí)cpu使用情況
perftop-ppid-ecpu-clock

使用 uptime 和 w 可打印出系統(tǒng)過(guò)去 1, 5, 15 分鐘內(nèi)的平均負(fù)載。同時(shí),你可以使用 sar -q 查看動(dòng)態(tài)的平均負(fù)載。

$uptime
19:28:49up290days,20:25,1user,loadaverage:2.39,2.64,1.55

$w
19:29:50up290days,20:26,1user,loadaverage:2.58,2.63,1.61
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
rootpts/0172.16.0.119:276.00s0.05s0.00stmuxa

在 uptime 的 man 手冊(cè)中這么解釋平均負(fù)載
System load averages is the average number of processes that are either in a runnable or uninterruptable state.
翻譯過(guò)來(lái)就是指系統(tǒng)中處于可運(yùn)行狀態(tài)和不可中斷狀態(tài)的平均進(jìn)程數(shù)。
對(duì)于 4 核的 CPU,如果平均負(fù)載高于 4 就代表負(fù)載過(guò)高

  • 內(nèi)存

//查看系統(tǒng)內(nèi)存使用情況
free-m
//虛擬內(nèi)存統(tǒng)計(jì)信息
vmstat1
//查看系統(tǒng)內(nèi)存情況
top
//1s采集周期,獲取內(nèi)存的統(tǒng)計(jì)信息
pidstat-ppid-r1 5

-r:查看進(jìn)程的內(nèi)存信息
-s:查看進(jìn)程的stack信息
-p:指定PID
1:每間隔1s打印一次
5:共打印5//查看進(jìn)程的內(nèi)存映像信息
pmap-dpid
//檢測(cè)程序內(nèi)存問(wèn)題
valgrind--tool=memcheck--leak-check=full--log-file=./log.txt./程序名
  • 磁盤(pán)IO

//查看系統(tǒng)io信息
iotop
//統(tǒng)計(jì)io詳細(xì)信息
iostat-d-x-k110
//查看進(jìn)程級(jí)io的信息
pidstat-d1-ppid
//查看系統(tǒng)IO的請(qǐng)求,比如可以在發(fā)現(xiàn)系統(tǒng)IO異常時(shí),可以使用該命令進(jìn)行調(diào)查,就能指定到底是什么原因?qū)е碌腎O異常
perfrecord-eblock:block_rq_issue-ag
^C
perfreport
//顯示網(wǎng)絡(luò)統(tǒng)計(jì)信息
netstat-s
//顯示當(dāng)前UDP連接狀況
netstat-nu
//顯示UDP端口號(hào)的使用情況
netstat-apu
//統(tǒng)計(jì)機(jī)器中網(wǎng)絡(luò)連接各個(gè)狀態(tài)個(gè)數(shù)
netstat-a|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'
//顯示TCP連接
ss-t-a
//顯示sockets摘要信息
ss-s
//顯示所有udpsockets
ss-u-a
//tcp,etcp狀態(tài)
sar-nTCP,ETCP1
//查看網(wǎng)絡(luò)IO
sar-nDEV1
//抓包以包為單位進(jìn)行輸出
tcpdump-ieth1host192.168.1.1andport80
//抓包以流為單位顯示數(shù)據(jù)內(nèi)容
tcpflow-cphost192.168.1.1
  • 系統(tǒng)負(fù)載

//查看負(fù)載情況
uptime
top
vmstat
//統(tǒng)計(jì)系統(tǒng)調(diào)用耗時(shí)情況
strace-c-ppid
//跟蹤指定的系統(tǒng)操作例如epoll_wait
strace-T-eepoll_wait-ppid
//查看內(nèi)核日志信息
dmesg

常用命令

1、臨時(shí)配置主機(jī)IP

ifconfig eth0 192.168.1.1
ip a add 192.168.1.100/24 dev eth0                       #設(shè)置IP地址和子網(wǎng)掩碼
ip r add default via 192.168.1.100 dev  eth0             #設(shè)置默認(rèn)網(wǎng)關(guān)
ip r add 0.0.0.0/0 via 192.168.1.254 dev eth0            #添加路由

2、windwos文本在linux格式問(wèn)題

sed -i -e 's/
$//'  install.sh

3、查看所在的公網(wǎng)IP

curl cip.cc
curl ipinfo.io
curl ip.cn
curl myip.ipip.net
curl ifconfig.me
curl ip.sb
curl inet-ip.info
curl ident.me
curl icanhazip.com
curl myip.ipip.net

4、持續(xù)測(cè)試業(yè)務(wù)可用性

while true; do curl 172.31.76.10/service/colors; sleep 0.$RANDOM; done

# 持續(xù)請(qǐng)求服務(wù)上的特定路徑/livez
while true; do curl 172.31.18.2/livez && echo -e "	" && curl 172.31.18.2; sleep 1; done

持續(xù)請(qǐng)求服務(wù),可發(fā)現(xiàn),請(qǐng)求均被調(diào)度至優(yōu)先級(jí)為0的webservice1相關(guān)的后端端點(diǎn)之上;
while true; do curl 172.31.29.2; sleep .5; done

5、快速定位占用文件系統(tǒng)過(guò)高的文件或目錄

find / -type f -size +200M -print0 | du --files0-from=- --max-depth=1 -h | sort -hr


find /:從根目錄開(kāi)始搜索;
-type f:僅查找類型為文件的條目;
-size +200M:查找大小超過(guò)200MB的文件:
-print0:將找到的文件名打印出來(lái),每個(gè)文件名之間用空字符分隔(為了處理包含特殊字符的文件名);
du:顯示文件或目錄所占用的磁盤(pán)空間;
--files0-from=-:從標(biāo)準(zhǔn)輸入讀取文件名列表;
--max-depth=1:限制對(duì)文件結(jié)構(gòu)的遞歸深度為1,即只計(jì)算文件本身所占用的空間,而不計(jì)算其子目錄的內(nèi)容
-h:格式以人類易讀的形式輸出;
sort:命令用于對(duì)文本文件中的行進(jìn)行排序;
-hr:根據(jù)文件大小進(jìn)行降序排序,同時(shí)處理人類可讀的數(shù)字字段

6、定位占用資源率過(guò)高的服務(wù)及文件

列出cpu使用率最高的進(jìn)程:
ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%cpu | head -10

列出內(nèi)存使用率最高的進(jìn)程: 
ps -eo pid,ppid,user,%cpu,%mem,cmd --sort=-%mem | head -10

列出swap使用率最高的進(jìn)程:
top (按Shift+F進(jìn)入fileds management,按d選擇swap,按s做排序)
查看進(jìn)程詳情:
ps-p  -o comm,cmd

查看所屬服務(wù):
cat /proc//cmdline

查看打開(kāi)文件:
lsof -o 

查看打開(kāi)文件數(shù)量:
ls -l /proc//fd/ | wc -l

7、釋放內(nèi)存空間
當(dāng)你讀寫(xiě)文件的時(shí)候,Linux內(nèi)核為了提高讀寫(xiě)性能與速度,會(huì)將文件在內(nèi)存中進(jìn)行緩存,這部分內(nèi)存就是Cache Memory(緩存內(nèi)存)。即使你的程序運(yùn)行結(jié)束后,Cache Memory也不會(huì)自動(dòng)釋放。這就會(huì)導(dǎo)致你在Linux系統(tǒng)中程序頻繁讀寫(xiě)文件后,你會(huì)發(fā)現(xiàn)可用物理內(nèi)存會(huì)很少。

其實(shí)這緩存內(nèi)存(Cache Memory)在你需要使用內(nèi)存的時(shí)候會(huì)自動(dòng)釋放,所以你不必?fù)?dān)心沒(méi)有內(nèi)存可用。如果你希望手動(dòng)去釋放Cache Memory也是有辦法的。

釋放內(nèi)存方式:

[root@node1 ~]# sync
[root@node1 ~]# echo 3 > /proc/sys/vm/drop_caches


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211746
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209476
  • 磁盤(pán)
    +關(guān)注

    關(guān)注

    1

    文章

    379

    瀏覽量

    25207

原文標(biāo)題:運(yùn)維必備!精通Linux高頻命令,讓效率翻倍的終極指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux教程:Linux Tee命令真實(shí)示例詳細(xì)指南

    使用 Linux 終端時(shí),您可能需要執(zhí)行命令將一些數(shù)據(jù)寫(xiě)入文件并進(jìn)一步處理其輸出。命令是一個(gè)可以幫助您實(shí)現(xiàn)這一目標(biāo)的強(qiáng)大實(shí)用程序tee。 這篇文章將為您提供有關(guān)tee命令的詳細(xì)
    發(fā)表于 10-31 10:02 ?622次閱讀

    高手進(jìn)階終極內(nèi)存技術(shù)指南

    高手進(jìn)階終極內(nèi)存技術(shù)指南
    發(fā)表于 08-15 17:53

    高手進(jìn)階_終極內(nèi)存技術(shù)指南

    [url=]高手進(jìn)階_終極內(nèi)存技術(shù)指南[/url]
    發(fā)表于 05-29 16:40

    RedHat Linux 9入門(mén)指南

    下面列出了 Red Hat Linux 的主要系統(tǒng)目錄及其簡(jiǎn)單描述。要獲得額外的目錄信息,請(qǐng)參閱《Red Hat Linux 定制指南》和《Red Hat Linux 參考
    發(fā)表于 06-30 17:33 ?50次下載

    Linux與用戶有關(guān)的命令

    Linux與用戶有關(guān)的命令 Linux與用戶有關(guān)的命令  passwd命令  出于系統(tǒng)安全考慮,Lin
    發(fā)表于 01-18 12:46 ?769次閱讀

    Linux的常用網(wǎng)絡(luò)命令

    Linux的常用網(wǎng)絡(luò)命令 Linux 的常用網(wǎng)絡(luò)命令  計(jì)算機(jī)網(wǎng)絡(luò)的主要優(yōu)點(diǎn)是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠(yuǎn)程訪問(wèn)信息。Linux
    發(fā)表于 01-18 12:47 ?1182次閱讀

    Linux關(guān)機(jī)命令詳解

    Linux關(guān)機(jī)命令詳解 在linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都 可以達(dá)到重啟系統(tǒng)的目的,但每個(gè)
    發(fā)表于 01-18 12:52 ?3631次閱讀

    Linux系統(tǒng)命令指南

    在“Linux 文件命令精通指南”中,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對(duì)
    發(fā)表于 05-23 10:23 ?963次閱讀

    Linux文件命令精通指南解析

    為剛接觸 Linux 文件命令的初學(xué)者提供的速成教程 雖然 GUI 桌面(如 KDE 和 GNOME)能夠幫助用戶利用 Linux 特性,而無(wú)需關(guān)于命令行接口的功能知識(shí),但還是經(jīng)常會(huì)需
    發(fā)表于 11-07 10:49 ?3次下載

    linux有哪些常用的命令

     Linux命令非常之多,分為內(nèi)部命令和外部命令。
    發(fā)表于 02-27 08:00 ?4次下載
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    Linux系統(tǒng)命令及shell腳本實(shí)踐指南

    Linux系統(tǒng)命令及shell腳本實(shí)踐指南資料下載。
    發(fā)表于 06-01 14:47 ?28次下載

    常用Linux命令介紹

    linux命令是對(duì)Linux系統(tǒng)進(jìn)行管理的命令。對(duì)于Linux系統(tǒng)來(lái)說(shuō),無(wú)論是中央處理器、內(nèi)存、磁盤(pán)驅(qū)動(dòng)器、鍵盤(pán)、鼠標(biāo),還是用戶等都是文件,
    的頭像 發(fā)表于 02-09 14:31 ?1064次閱讀

    淺析Linux精致的命令

    這只是一小部分常用的Linux命令,Linux有很多命令可以使用。建議通過(guò)man命令來(lái)查看命令
    的頭像 發(fā)表于 04-24 16:28 ?1553次閱讀

    shell命令linux命令一樣嗎

    Shell命令Linux命令并不完全一樣。 首先,Shell是一種命令行解釋器,它是用來(lái)解釋和執(zhí)行用戶輸入的命令的。Shell既是一種
    的頭像 發(fā)表于 11-08 10:51 ?2876次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開(kāi)放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux中,有多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹常用的Linux重啟
    的頭像 發(fā)表于 11-17 09:49 ?2043次閱讀