找出系统中使用CPU最多的进程?内存最多的进程?对磁盘读写最多的进程?使用网络最多的进程?

  1. 系统的运行状况: CPU-> MEM ->DISK*-> NETWORK -> 应用程序调优
    性能优化的4个子系统:
    CPU
    Memory
    IO
    Network
  2. 分析是否有瓶颈(依据当前应用需求)
    1、查看CPU负载相关工具
    uptime命令:
[root@localhost ~]# uptime
13:22:30 up 8 min,  4 users,  load average: 0.14, 0.38, 0.25

其内容如下:

12:38:33当前时间
up 50days系统运行时间 ,说明此服务器连续运行50天了
1 user当前登录用户数
load average: 0.06, 0.60, 0.48系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。

例1:找出前当系统中,CPU存在瓶颈的服务器?
服务器1: load average: 0.15, 0.08, 0.01 1核
服务器2: load average: 4.15, 6.08, 6.01 1核
服务器3: load average: 10.15, 10.08, 10.01 4核
答案:2
如果服务器的CPU为1核心,则load average中的数字 >=3 负载过高,如果服务器的CPU为4核心,则load average中的数字 >=12 负载过高。
队列数为3时,如图:在这里插入图片描述
理论上:单核心,1分钟的系统平均负载不要超过3,这个经验值。
一、按照实际使用CPU,从大到小排序显示所有进程列表

[root@stu003 ~]# ps -aux --sort -pcpu | more   #按cpu降序排序

查看 -pcpu 帮助:

[root@Hjj ~]# man ps  #然后搜索 pcpu  ,找到下面内容
  pcpu         cpu utilization   # cpu利用率

注: -pcpu 和-cpu 相比, -pcpu 可以显示出进程绝对路径,方便找出木马程序运行的路径。
二、按照实际使用内存,从大到小排序显示所有进程列表

[root@Hjj ~]#  ps -aux  --sort -rss | more 内存降序排序(去掉减号就是升序)
或:
[root@Hjj ~]#  ps -aux  --sort -rss > a.log

三、找出系统中对磁盘读写最多的进程
1、iostat 可以显示CPU和I/O系统的负载情况及每个磁盘分区的读写状态信息.
从而知道我们系统IO 是否存在问题。
2、安装iostat:

[root@Hjj ~]# yum -y install iostat

常用参数:
-d 仅显示磁盘统计信息
-k 以K为单位显示每秒的磁盘请求数,默认单位块.
-p device | ALL 用于显示块设备及系统分区的统计信息

例:显示每个分区读写速度

[root@Hjj ~]# iostat -p sda -dk
Linux 2.6.32-220.el6.x86_64 (Hjj) 08/04/2015 _x86_64_ (4 CPU)
 
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               7.25       252.33        12.99     206953      10657
sda1              0.63         2.43         0.01       1996          9
sda2              5.99       247.27        12.98     202805      10648
sda3              0.43         1.77         0.00       1452          0

注:
每列含意:
kB_read/s 每秒从驱动器读入的数据量,单位为K.
kB_wrtn/s 每秒向驱动器写入的数据量,单位为K.
kB_read 读入的数据总量,单位为K.
kB_wrtn 写入的数据总量,单位为K.
四、查看系统中使用io最多的进程
参数:
-o, -only 只显示在读写硬盘的程序
-d SEC, –delay=SEC 设定显示时间间隔
退出,按q或ctrl+C
例1:
安装:

[root@Hjj ~]# yum -y install iotop
 
 [root@Hjj ~]# iotop -o -d 1     #显示正在使用磁盘的进程
Total DISK READ: 1458.61 K/s | Total DISK WRITE: 0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND             
 2654 be/4 root     1458.61 K/s    0.00 B/s  0.00 % 60.62 % find /
1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init

只是对Linux下的开源工具做了一个封装。

实战1:使用nload监控总体带宽使用情况
实战2:使用iptraf查看每个链接与主机之间的数据,找出恶意消耗带宽最多的IP
实战3:使用nethogs找出使用带宽最多的进程

实战1:使用nload监控总体带宽使用情况
rz 上传nload.rpm到RHEL上

[root@Hjj ~]# rpm -ivh nload-0.7.4-1.el6.x86_64.rpm
或wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz
[root@iZ25b6alxstZ ~]# yum install nload -y   (在centos上,配置好epel源)
yum -y install ncurses*  
[root@Hjj ~]# nload   #开始监控
然后另一个终端上运行:
[root@Hjj ~]# ab -n 10000 -c 2 http://www.baidu.com/index.html  #产生一些测试数据

查看结果:
在这里插入图片描述
Incoming : 下载 Outgoing :上传

[root@Hjj ~]# rpm -ivh /mnt/Packages/iptraf-3.0.1-13.el6.x86_64.rpm

iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。
实战2:使用iptraf查看每个链接与主机之间的数据,找出恶意消耗带宽最多的IP
[root@Hjj ~]# iptraf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实战3:分析服务器上某个端口上产生的流量。
实战背景: 晚上下载了一个黑客工具,想知道这个软件有没有留后门,怎么办?
在运行软件之前,先监控一下流量 。
Statistical breakdowns. 统计分析。
在这里插入图片描述
选择统计端口上的流量:
在这里插入图片描述
在这里插入图片描述
nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值