『壹』 linux 下怎麼查看一個進程佔用內存大小
這里介紹下查看一個進程佔用內存大小的方法。
1、首先單擊桌面左上角的應用程序,選擇系統工具選項,如下圖所示。
『貳』 Linux系統CPU/內存使用率過高的問題排查
伺服器出現由內存問題引發的故障,例如系統內部服務響應速度變慢、伺服器登錄不上、系統觸發 OOM(Out Of Memory)等。通常情況下當實例內存使用率持續高於90%時,可判斷為實例內存使用率過高。CPU/內存使用率過高的問題原因可能由硬體因素、系統進程、業務進程或者木馬病毒等因素導致。
筆者以前寫過一篇文章- Linux 下的 60 秒分析的檢查清單 ,適用於 任何性能問題 的分析工作,這一篇文章是關於CPU/內存使用率的具體的排查思路總結。
執行 top 命令後按 M ,根據駐留內存大小進行排序,查看 「RES」 及 「SHR」 列是否有進程佔用內存過高。按 P,以 CPU 佔用率大小的順序排列進程列表,查看是否有進程佔用cpu過高。
如果有異常進程佔用了大量 CPU 或內存資源,記錄需要終止的進程 PID,輸入k,再輸入需要終止進程的 PID ,按 Enter。
另外說明一下,top 運行中可以通過 top 的內部命令對進程的顯示方式進行控制,最常用的是M和P。
CPU 空閑但高負載情況,Load average 是 CPU 負載的評估,其值越高,說明其任務隊列越長,處於等待執行的任務越多。執行ps -axjf命令,查看進程狀態,並檢查是否存在 D 狀態進程。D 狀態指不可中斷的睡眠狀態,該狀態進程無法被殺死,也無法自行退出。若出現較多 D 狀態進程,可通過恢復該進程依賴資源或重啟系統進行解決。
Linux 系統通過分頁機制管理內存的同時,將磁碟的一部分劃出來作為虛擬內存。而 kswapd0 是 Linux 系統虛擬內存管理中負責換頁的進程。當系統內存不足時,kswapd0 會頻繁的進行換頁操作。換頁操作非常消耗 CPU 資源,導致該進程持續佔用高 CPU 資源。
執行top命令,找到 kswapd0 進程。觀察 kswapd0 進程狀態,若持續處於非睡眠狀態,且運行時間較長並持續佔用較高 CPU 資源,執行 vmstat ,free,ps 等指令,查詢系統內進程的內存佔用情況,重啟系統或終止不需要且安全的進程。如果 si,so 的值也比較高,則表示系統存在頻繁的換頁操作,當前系統的物理內存已經不能滿足您的需要。 si 表示每秒從交換區寫入內存的大小(單位:kb/s) , so 每秒從內存寫到交換區的大小。
執行cat/proc/meminfo |grep-i shmem命令查看共享內存。
buddy可以以頁為單位獲取連續的物理內存了,即4K為單位。slab負責需要頻繁的獲取/釋放並不大的連續物理內存,比如幾十位元組。執行cat /proc/meminfo | grep -i SUnreclaim命令查看slab 內存。
標準的 4KB 大小的頁面外,內存大頁管理內存中的巨大的頁面,處理較少的頁面映射表,從而減少訪問/維護它們的開銷。執行cat /proc/meminfo | grep -iE "HugePages_Total|Hugepagesize" 查看內存大頁。
內存使用率計算:
(Total - available)100% / Total
(Total - Free - Buffers - Cached - SReclaimable + Shmem)* 100% / Total
cat /proc/meminfo查看信息含義:
『叄』 Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用
Linux伺服器如何查看CPU佔用率、內存佔用、帶寬佔用的命令
圖中紅色部分即為佔用百分率,下面是每個進程的CPU佔用率,如果伺服器是多核CPU可能在下方看到有些進程CPU佔用超過100%,這種一般是該進程使用了多核。
內存佔用率:free -m
圖中紅色部分即為佔用,即used、free即為剩餘。(注意中在第二行數字中找哦。)
帶寬佔用:
使用vmstat命令,輸入命令:vmstat
linux伺服器的相關信息查看(埠佔用,cpu、內存佔用,防火牆,系統信息,vim編輯器使用等)
一、埠佔用情況
(1)查看所有埠、進程的使用情況: netstat -tunlp
(2)查看某一埠的使用情況: netstat -tunlp|grep 5560
二、查看內存使用情況
(1)查看佔用情況(動態):top
按下P(大寫)可以找到佔用內存最大的進程
(2)查看佔用情況(總的):free
(3)查看佔用內存最多的N個進程: ps -aux | sort -k4nr | head -K如果是10個進程,K=10,如果是最高的三個,K=3
(4)查看硬碟空間大小:df -lh
三、防火牆
防火牆iptables和firewall
(1)查看防火牆狀態:firewall-cmd --state
(2)開啟、關閉防火牆:開啟:systemctl start firewalld關閉:systemctl stop firewalld.service 或者 service firewalld stop
(3)重啟防火牆:firewall-cmd --reload(重新載入配置,在添加規則之後,需要執行此命令)
(4)防火牆是否開機啟動:禁止防火牆開機啟動:systemctl disable firewalld.service設置防火牆開機啟動:systemctl enable firewalld.service
四、查看系統信息
(1)查看系統位數:getconf LONG_BIT
(2)查看內存信息:查看所有內存信息: cat /proc/meminfo查看內存容量: grep "MemTotal" /proc/meminfo
(3)查看CPU信息:查看cpu個數(幾核):cat /proc/cpuinfo |grep "processor"|wc -l
五、linux中文亂碼:
我只是用了第三部,更改了ssh客戶端屬性配置就可以了
1. 配置SSH 終端 (以xshell為例):
打開「文件」(File)- 「屬性」 (Properties), 在「終端」(Terminal),將「編碼」(Encoding)改為UTF-8 即可。
六、Xshell遠程連接Linux時無法使用小鍵盤的解決方式:
七、linux中vi編輯器的退出操作
保存,但不退出vi :w
保存並退出vi :wq
退出vi,但不保存更改 :q!
用其他文件名保存 :w filename
在現有文件中保存並覆蓋該文件 :w! filename
查找文字:在一般模式下輸入/和你要查找的文字單詞,例如/port,此時再按下 n 會跳轉至改文字所在的下一處。
『肆』 怎麼查看linux的cpu,內存等佔用率
查看CPU和內存使用率方法如下:
1、在任務管理器裡面可以查看CPU和內存的使用率。
2、鍵盤上同時按住Ctrl+Alt+Delete,點擊「啟用任務管理器(T)」就可以看到當前CPU實際的使用率是多少了。如圖