亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Linux查看進程內(nèi)存占用的六種方法

 更新時間:2025年06月19日 10:19:25   作者:祥子AI  
CPU和內(nèi)存是機器性能好壞的關鍵部件,內(nèi)存大了就能運行更多的程序,但是程序運行多了就會出現(xiàn)資源消耗競爭的關系,有時候系統(tǒng)出現(xiàn)負載過高的情況下,們?nèi)绾稳ヅ袛嗍悄莻€程序?qū)е碌哪??這就可以用上今天分享的幾個工具指令了,需要的朋友可以參考下

我這里整理了 6 種方式,應該足夠用了吧,不夠你可以再補充。

  • top 命令
  • ps 命令
  • smaps
  • pmap 命令
  • smem 命令
  • status

top

首先想到的肯定是 top 命令,直接輸入 top 回車即可

輸出參數(shù)介紹:

  • PID:進程的ID
  • USER:進程所有者
  • VIRT:進程占用的虛擬內(nèi)存
  • RES:進程占用的物理內(nèi)存
  • SHR:進程使用的共享內(nèi)存
  • S:進程的狀態(tài)。S表示休眠,R表示正在運行,Z表示僵死狀態(tài),N表示該進程優(yōu)先值為負數(shù)
  • %CPU:進程占用CPU的使用率
  • %MEM:進程使用的物理內(nèi)存和總內(nèi)存的百分比
  • TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值

top命令默認是以CPU排序輸出的,按字母「****M****」,可以按內(nèi)存占用大小進行排序顯示

顯示的有整體內(nèi)存占用情況和各個進程占用的內(nèi)存情況。

ps

默認的 ps 不輸出內(nèi)存相關的內(nèi)容,可以添加要顯示的字段

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid'
  • -e 顯示所有進程
  • -o 定制顯示信息
  • pid 進程ID
  • comm 進程名
  • args 啟動命令
  • pcpu 占用CPU 百分比
  • rsz 占用物理內(nèi)存大小
  • vsz 占用虛擬內(nèi)存大小
  • stime 進程啟動時間
  • user 啟動用戶

RSZ: 954184 表示內(nèi)存占用

更多操作指令,按內(nèi)存排序

ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | sort -k5nr 

也可以使用 --sort -rsz 按 rsz 排序,效果一樣

smaps

smaps 也是進程的一個屬性,可以通過 cat smaps 獲得

cat /proc/7576/smaps | grep Rss | awk '{sum +=$2} END{print sum}' 

需要將他們進行加起來

pmap

使用 pmap 也可以查看進程的詳細內(nèi)存占用情況

pmap -h
 
Usage:
 pmap [options] PID [PID ...]
 
Options:
 -x, --extended              show details
 -X                          show even more details
            WARNING: format changes according to /proc/PID/smaps
 -XX                         show everything the kernel provides
 -c, --read-rc               read the default rc
 -C, --read-rc-from=<file>   read the rc from file
 -n, --create-rc             create new default rc
 -N, --create-rc-to=<file>   create new rc to file
            NOTE: pid arguments are not allowed with -n, -N
 -d, --device                show the device format
 -q, --quiet                 do not display header and footer
 -p, --show-path             show path in the mapping
 -A, --range=<low>[,<high>]  limit results to the given range
 
 -h, --help     display this help and exit
 -V, --version  output version information and exit
 
For more details see pmap(1).

執(zhí)行 pmap -x pid 可以查看詳情

pmap -x 7576
7576:   /usr/share/logstash/jdk/bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djdk.io.File.enableADS=true -Djruby.compile.invokedynamic=true -Djruby.jit.threshold=0 -Djruby.regexp.interruptible=true -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/urandom -Dlog4j2.isThreadContextMapInheritable=true -cp /usr/share/logstash/logstash-core/lib/jars/animal-sniffer-annotations-1.14.jar:/
Address           Kbytes     RSS   Dirty Mode  Mapping
...............
---------------- ------- ------- ------- 
total kB         3725156  626940  619032

RSS: 626940 即內(nèi)存占用。

smem

一般系統(tǒng)沒有自帶,需要安裝一下,根據(jù)你的系統(tǒng)選擇合適的安裝工具

apt-get update
apt-get install -y smem
 
smem --help

自帶排序,直接輸出排好序的數(shù)據(jù),可以使用 -r 參數(shù)從大到小排列

smem
smem -r

status

Linux 中每個進程在 /proc 目錄下都有對應的目錄,其中某個進程目錄下有一個 status 文件,通過 status 文件內(nèi)容可以查看到當前占用資源的情況

cat /proc/7576/status 
Name:    java
Umask:    0022
State:    S (sleeping)
Tgid:    7576
Ngid:    0
Pid:    7576
PPid:    1
TracerPid:    0
Uid:    0    0    0    0
Gid:    0    0    0    0
FDSize:    256
Groups:    0 
VmPeak:     3724360 kB
VmSize:     3724360 kB
VmLck:           0 kB
VmPin:           0 kB
VmHWM:      638308 kB
VmRSS:      621528 kB
RssAnon:      613808 kB
RssFile:        7720 kB
RssShmem:           0 kB
VmData:     3524964 kB
VmStk:         136 kB
VmExe:           4 kB
VmLib:       22520 kB
VmPTE:        1604 kB
VmSwap:           0 kB
Threads:    34
SigQ:    0/14503
SigPnd:    0000000000000000
ShdPnd:    0000000000000000
SigBlk:    0000000000000000
SigIgn:    0000000000000000
SigCgt:    2000000181005ccf
CapInh:    0000000000000000
CapPrm:    00000000a80425fb
CapEff:    00000000a80425fb
CapBnd:    00000000a80425fb
CapAmb:    0000000000000000
Seccomp:    2
Speculation_Store_Bypass:    vulnerable
Cpus_allowed:    3
Cpus_allowed_list:    0-1
Mems_allowed:    00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:    0
voluntary_ctxt_switches:    22
nonvoluntary_ctxt_switches:    29

VmRSS: 621528 kB 就表示占用的內(nèi)存大小。

END

到此這篇關于Linux查看進程內(nèi)存占用的六種方法的文章就介紹到這了,更多相關Linux查看進程內(nèi)存占用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux下使用nmcli命令連接網(wǎng)絡的流程步驟

    Linux下使用nmcli命令連接網(wǎng)絡的流程步驟

    在使用ubuntu系統(tǒng)的時候,有時候不方便使用桌面,使用ssh遠程連接,可能需要使用nmcli命令來連接網(wǎng)絡,本文將介紹如何使用nmcli命令連接網(wǎng)絡,需要的朋友可以參考下
    2025-06-06
  • 一個shell for循環(huán)與case結合的腳本(監(jiān)控程序狀態(tài))

    一個shell for循環(huán)與case結合的腳本(監(jiān)控程序狀態(tài))

    分享一個for循環(huán)+case的腳本(監(jiān)控程序狀態(tài)并執(zhí)行相關操作) ,供大家學習參考
    2013-11-11
  • shell進度條追蹤指令執(zhí)行時間的場景分析

    shell進度條追蹤指令執(zhí)行時間的場景分析

    這篇文章主要介紹了shell進度條如何追蹤指令執(zhí)行時間,本文中的進度條可以應用于大部分場景。不用修改進度條函數(shù)的任何代碼,就可以直接使用,特別適合那些可預估指令執(zhí)行時間的場景,需要的朋友可以參考下
    2022-06-06
  • Linux命令提示符顯示格式的配置方法

    Linux命令提示符顯示格式的配置方法

    今天小編就為大家分享一篇Linux命令提示符顯示格式的配置方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Shell中正則表達式及sed和awk常見問題

    Shell中正則表達式及sed和awk常見問題

    本文主要介紹了Shell中正則表達式及sed和awk常見問題,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 一個下載網(wǎng)頁圖片的shell腳本

    一個下載網(wǎng)頁圖片的shell腳本

    這篇文章主要介紹了一個下載網(wǎng)頁圖片的shell腳本,需要的朋友可以參考下
    2014-03-03
  • 淺談安裝ORACLE時在Linux上設置內(nèi)核參數(shù)的含義

    淺談安裝ORACLE時在Linux上設置內(nèi)核參數(shù)的含義

    下面小編就為大家?guī)硪黄獪\談安裝ORACLE時在Linux上設置內(nèi)核參數(shù)的含義。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • vim命令匯總

    vim命令匯總

    本文主要介紹了vim命令匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • Linux?中l(wèi)s命令的使用詳細介紹

    Linux?中l(wèi)s命令的使用詳細介紹

    本文是小編整理的ls命令的基本使用方式,文中示例中的命令選項都可以進行任意組合來使用,比如倒序排序使用"ls?-rs"命令等,對Linux?中l(wèi)s命令用法感興趣的朋友一起看看吧
    2022-06-06
  • Linux下使用Rsync完成自動化備份

    Linux下使用Rsync完成自動化備份

    對于運維人員來說,數(shù)據(jù)備份是最重要的工作之一,rsync就是一款通過網(wǎng)絡備份重要數(shù)據(jù)的工具/軟件。
    2018-09-09

最新評論