CentOS 7 系統優化


系統調優4大子系統

  • 1:找出系統中使用CPU最多的進程
  • 2:找出系統中使用內存最多的進程
  • 3:找出系統中對磁盤讀寫最多的進程
  • 4:找出系統中使用網絡最多的進程

系統調優概述

系統的運行狀況:  CPU->  MEM  ->  DISK->  NETWORK  ->  應用程序調優

系統性能優化的4個子系統:

    CPU

    Memory

    IO

    Network

 

1.找出系統中使用CPU最多的進程

查看CPU負載相關工具uptime命令

[root@jumpserver ~]# uptime
 19:13:35 up  3:59,  1 user,  load average: 0.00, 0.01, 0.05

其內容如下:

19:13:35

當前時間

up 3:59

系統運行時間 ,說明此服務器連續運行3小時59分鍾了

1 user

當前登錄用戶數

load average: 0.00, 0.01, 0.05

系統負載,即任務隊列的平均長度。 三個數值分別為  1分鍾、5分鍾、15分鍾前到現在的平均值

 

 

 

 

 

 

 

如果服務器的CPU為1核心,則load average中的數字  >=3  負載過高,如果服務器的CPU為4核心,則load average中的數字  >=12  負載過高

單核心,1分鍾的系統平均負載不要超過3,就可以

 

使用top命令

運行top , 找出使用CPU最多的進程 ,按大寫的P,可以按CPU使用率來排序顯示

按照實際使用CPU ,從大到小排序顯示所有進程列表

[root@jumpserver ~]# ps -aux --sort -pcpu | less    #按cpu降序排序查看
# -pcpu 可以顯示出進程絕對路徑,方便找出木馬程序運行的路徑

2.找出系統中使用內存最多的進程

使用top命令

運行top  , 然后按下大寫的M 可以按內存使用率來排序顯示

[root@jumpserver ~]# top

 

 按照實際使用內存 ,從大到小排序顯示所有進程列表

[root@jumpserver ~]# ps -aux  --sort -rss | less    # 內存降序排序

3、找出系統中對磁盤讀寫最多的進程

查看系統中哪個磁盤或分區最繁忙

通過iostat命令查看IO是否存在瓶頸

常用參數 :

-d 僅顯示磁盤統計信息

-k 以K為單位顯示每秒的磁盤請求數,默認單位塊

-p device | ALL 用於顯示塊設備及系統分區的統計信息

安裝iostat

 

[root@jumpserver ~]# yum -y install sysstat
[root@jumpserver ~]#  iostat -d -k -p /dev/sda
Linux 3.10.0-862.el7.x86_64 (jumpserver)     2018年08月06日     _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.49        17.71         4.42     305878      76321
sda1              0.06         1.40         0.12      24105       2048
sda2              0.42        16.26         4.30     280725      74273

每列含意 :

kB_read/s   每秒從磁盤讀入的數據量,單位為K

kB_wrtn/s    每秒向磁盤寫入的數據量,單位為K

kB_read    讀入的數據總量,單位為K

kB_wrtn    寫入的數據總量,單位為K

 

給磁盤寫入一些內容 , 寫入時盡可能不讀磁盤

[root@jumpserver ~]# dd if=/dev/zero  of=a.txt bs=10M  count=1000 ;  sync
# 讀入的數據用/dev/zero , /dev/zero不會讀磁盤
# #把內存中的數據快速寫到磁盤上。 只做dd不執行sync,不容易看不出寫入效果

[root@jumpserver ~]#  iostat  -p sda -dk
Linux 3.10.0-862.el7.x86_64 (jumpserver)     2018年08月06日     _x86_64_    (4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.43        36.59       460.93     669406    8432993
sda1              0.06         1.32         0.11      24105       2048
sda2              1.37        35.21       460.82     644253    8430945

查看哪個進程使用磁盤讀寫最多

iotop命令,查看哪個進程使用磁盤讀寫最多

安裝iotop

參數:

-o, -only 只顯示在讀寫硬盤的程序

-d SEC, -delay=SEC  設定顯示時間間隔  刷新時間

退出 ,按q或ctrl+C

[root@jumpserver ~]# yum -y install iotop  
[root@jumpserver ~]# iotop -o -d 1  # 顯示正在使用磁盤的進程

在另一個終端對磁盤進行大量讀操作 ,執行 :

[root@jumpserver ~]# find /

已經知道怎么找出使用系統的cpu ,內存 ,磁盤最多的進程 

哪怎么找出系統中使用網絡最多的進程呢

windows中有流量顯示 ,雙擊后,可以查到每個進程使用的流量 , Linux有嗎

Linux 可以使用nload

找出系統中使用網絡最多的進程

1.使用nload監控總體帶寬使用情況

2.使用nethogs找出使用帶寬最多的進程

安裝nload :

[root@jumpserver ~]# yum -y install nload
[root@jumpserver ~]# nload    # 開始監控

然后另一個終端上運行 :

[root@jumpserver ~]# yum -y install httpd
[root@jumpserver ~]# systemctl start httpd
[root@jumpserver ~]# ab -n 1000 -c 2 http://www.baidu.com/index.html    # 產生一些測試數據
  

查看結果:

Incoming : 下載   Outgoing  :上傳

2.使用nethogs找出使用帶寬最多的進程

安裝nethogs :

[root@jumpserver ~]# yum -y install nethogs
[root@jumpserver ~]# nethogs

在另一個終端生成一些數據 :

[root@jumpserver ~]# wget http://mirrors.zju.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

可以看到進程號 , 用戶 , 進程都可以看到

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM