日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在linux中,當占用過高的內存或者cpu時,會常常伴隨著我們的服務處理變慢或者無響應,這個時候我們需要排查服務器中哪些進程占用過高導致的。或者有時候我們在測試我們的網站時,我們需要觀察相關進程是否會出現內存增長過快。

top

top 命令包含更多的指標統計,相當于一個綜合命令。

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況。

通過top命令我們可以快速實時知道服務器中哪些進程會占用過高內存和CPU信息。

# top
top - 09:15:26 up 10:40,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 177 total,   1 running, 176 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  3.0 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863088 total,   489784 free,   585660 used,   787644 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1098596 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 10146 root    20   0  162028   2288   1524 R   6.2  0.1   0:00.02 top
     1 root      20   0  193908   7032   4212 S   0.0  0.4   0:02.74 systemd
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H
     6 root      20   0       0      0      0 S   0.0  0.0   0:00.18 ksoftirqd/0
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.05 migration/0
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
     9 root      20   0       0      0      0 S   0.0  0.0   0:01.36 rcu_sched
    10 root      rt   0       0      0      0 S   0.0  0.0   0:00.23 watchdog/0
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.22 watchdog/1
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/1
    13 root      20   0       0      0      0 S   0.0  0.0   0:00.44 ksoftirqd/1
...

 

當我們想查看消耗內存前3的進程,我們可以執行如下命令

 



# top -o %MEM | head -n 3
top - 07:54:12 up 31 min, 1 user, load average: 0.01, 0.38, 0.43
任務: 297 total, 1 running, 296 sleeping, 0 stopped, 0 zombie
%Cpu(s): 10.0 us, 10.0 sy, 0.0 ni, 80.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3890.2 total, 1037.7 free, 1171.8 used, 1680.7 buff/cache
MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 2467.0 avail Mem 

USER PR NI VIRT RES SHR %CPU %MEM TIME+ COMMAND 
6310 root 20 0 4064524 277464 132776 S 5.6 7.0 0:23.08 gnome-s+ 
6528 root 20 0 1137864 104216 67168 S 0.0 2.6 0:04.71 snap-st+ 
5944 root 20 0 362476 90444 56248 S 0.0 2.3 0:13.51 Xorg 

同理,我們可以使用如下命令查看占用 CPU 前 3 的進程

我們也可以只查看某個具體進程的 top 信息

 

# top -p 12458 只查看 PID為 12458 的進程信息
top - 14:28:47 up 1 day, 15:34, 3 users, load average: 0.00,0.00,0.00
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 625344k total, 574124k used, 51220k free, 67024k buffers
Swap: 524280k total, Ok used, 524280k free, 409344k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12458 root 20 0 4520 1192 580 S 0.0 0.2 0:00.00 httpd

 

ps

ps 命令是“process status”的縮寫,ps 命令用于顯示當前系統的進程狀態。

使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程占用了過多的資源等等。

 

查找特定進程信息:

# ps -aux | grep ssh
root 1303 0.0 0.0 82468 1204 ? Ss Apr17 0:00 /usr/sbin/sshd
root 3260 0.0 0.0 52864 572 ? Ss Apr17 0:00 /usr/bin/ssh-agent 
root 24188 0.0 0.0 112652 956 pts/0 S+ 11:39 0:00 grep --color=auto ssh
...

 

我們可以使用帶有 –sort 參數的 ps 命令按內存和 CPU 使用率對輸出進行排序。

 

# ps aux --sort -%cpu
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1891 3.1 6.7 3992296 269128 ? Ssl 07:27 0:21 /usr/bin/gnom
root 2186 1.8 4.1 1268748 167000 ? Sl 07:27 0:13 /snap/snap-st
root 1362 1.5 1.1 455372 44384 ? Ssl 07:23 0:14 /usr/libexec/
root 1648 1.2 2.1 357848 87008 tty2 Sl+ 07:27 0:09 /usr/lib/xorg
root 3696 1.0 0.1 19928 5720 pts/2 Ss 07:39 0:00 bash

...

同理,我們可以使用如下命令按內存的使用率進行排序

# ps aux --sort -%mem

我們可以根據我們應用程序的名字來獲取內存和CPU的使用信

# ps aux | grep -E "manage|PID"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1891 3.1 6.7 3992296 269128 ? Sl+ 07:27 0:21 ./manage

 

pidstat

pidstat 是 sysstat 工具的一個命令,用于監控全部或指定進程的 cpu、內存、線程、設備 IO 等系統資源的占用情況。pidstat 首次運行時顯示自系統啟動開始的各項統計信息,之后運行 pidstat 將顯示自上次運行該命令以后的統計信息。用戶可以通過指定統計的次數和時間來獲得所需的統計信息。

cpu使用情況統計(-u)

使用-u選項,pidstat將顯示各活動進程的cpu使用統計,執行”pidstat -u”與單獨執行”pidstat”的效果一樣。

內存使用情況統計(-r)

使用-r選項,pidstat將顯示各活動進程的內存使用統計:

# pidstat -r -p 13084 2 // 以2秒為周期顯示進程13084 的內存使用信息
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_

15:08:18 PID minflt/s majflt/s VSZ RSS %MEM Command
15:08:19 13084 133835.00 0.00 15720284 15716896 96.26 core
15:08:20 13084 35807.00 0.00 15863504 15849756 97.07 core
15:08:21 13084 19273.87 0.00 15949040 15792944 96.72 core

以上各列輸出的含義如下:

  • minflt/s: 每秒次缺頁錯誤次數(minor page faults),次缺頁錯誤次數意即虛擬內存地址映射成物理內存地址產生的page fault次數
  • majflt/s: 每秒主缺頁錯誤次數(major page faults),當虛擬內存地址映射成物理內存地址時,相應的page在swap中,這樣的page fault為major page fault,一般在內存使用緊張時產生
  • VSZ: 該進程使用的虛擬內存(以kB為單位)
  • RSS: 該進程使用的物理內存(以kB為單位)
  • %MEM: 該進程使用內存的百分比
  • Command: 拉起進程對應的命令

分享到:
標簽:Linux
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定