zoukankan      html  css  js  c++  java
  • 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

    可以看到进程号 , 用户 , 进程都可以看到

     

     

     

     

    --求知若饥 虚心若愚
  • 相关阅读:
    查看 Oracle 是32位还是64位的方法
    Oracle 查看 对象 持有 锁 的情况
    Oracle 11.2.0.3 Patchset
    Oracle 升级10.2.0.5.4 OPatch 报错Patch 12419392 Optional component(s) missing 解决方法
    Oracle 11.2.0.1 升级到 11.2.0.3 示例
    Oracle 安装OEM 报错: 无法对所有EM 相关账户解锁 解决方法
    Oracle sessions,processes 和 transactions 参数 关系 说明
    Oracle 11.2.0.1 升级到 11.2.0.3 示例
    Oracle 查看 对象 持有 锁 的情况
    Oracle Database Appliance
  • 原文地址:https://www.cnblogs.com/bigdevilking/p/9433750.html
Copyright © 2011-2022 走看看