系统调优4大子系统

  • 1:找出系统中使用CPU最多的进程
  • 2:找出系统中使用内存最多的进程
  • 3:找出系统中对磁盘读写最多的进程
  • 4:找出系统中使用网络最多的进程

系统调优概述

系统的运行状况:  CPU->  MEM  ->  DISK->  NETWORK  ->  应用程序调优

系统性能优化的4个子系统:

    CPU

    Memory

    IO

    Network

1.找出系统中使用CPU最多的进程

查看CPU负载相关工具uptime命令

[root@jumpserver ~]# uptime
:: up :, 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.-.el7.x86_64 (jumpserver) 2018年08月06日 _x86_64_ ( CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.49 17.71 4.42
sda1 0.06 1.40 0.12
sda2 0.42 16.26 4.30

每列含意 :

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= ;  sync
# 读入的数据用/dev/zero , /dev/zero不会读磁盘
# #把内存中的数据快速写到磁盘上。 只做dd不执行sync,不容易看不出写入效果 [root@jumpserver ~]# iostat -p sda -dk
Linux 3.10.-.el7.x86_64 (jumpserver) 2018年08月06日 _x86_64_ ( CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.43 36.59 460.93
sda1 0.06 1.32 0.11
sda2 1.37 35.21 460.82

查看哪个进程使用磁盘读写最多

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 -c 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

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

 

CentOS 7 系统优化的更多相关文章

  1. Centos 7系统优化脚本

    脚本如下,后续继续优化 #!/bin/bash #author junxi by #this script is only for CentOS 7.x #check the OS platform= ...

  2. 四、Centos linux系统优化

    1.     无论是哪个版本的linux,都会提供32位和64位的两个版本的镜像. i386为32位 x86_64为64位 两者的区别: 1)目标:需要大量的内存需求的行业为64位,普通用户的需求为3 ...

  3. 五、Centos linux系统优化-实战

    一.linux用户名和密码远程登陆的修改: windows默认的远程端口和管理员:user:administrator    prot:3389在管理--->本地用户和组   进行权限设置或者修 ...

  4. centos 操作系统优化

    命令提示符优化 修改PS1环境变化 vim /etc/profile #在最后一行添加 export PS1='[\u@\H \w]$' \u ---显示当前登录用户名称 \h ---显示系统主机名称 ...

  5. CentOS 6一键系统优化 Shell 脚本

    CentOS 6一键系统优化 Shell 脚本 脚本的内容如下: #!/bin/bash#author suzezhi#this script is only for CentOS 6#check t ...

  6. Centos系统优化

    系统优化脚本 #!/bin/bash #author junxi by #this script is only for CentOS 7.x #check the OS platform=`unam ...

  7. CentOS系统优化一键配置脚本

    #!/usr/bin/env bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export P ...

  8. Centos 04 基础系统优化命令

    在Linux这个系统当中,几乎所有的硬件设备文件都在/dev这个目录内.举例来说,IDE介面的硬盘的文件名称即为/dev/hd[a-d],其中, 括号内的字母为a-d当中的任意一个,亦即有/dev/h ...

  9. CentOS 7.4系统优化/安装软件

    源改为国内源 阿里云yum源 https://opsx.alibaba.com/mirror 清华yum源 https://mirrors.tuna.tsinghua.edu.cn/ 网易163yum ...

随机推荐

  1. textarea 分割

    var orderNo = $("#orderNo").val();var orderNo = orderNo.toString().split(/\r?\n/);

  2. Jquery EasyUI Combotree和 EasyUI tree展开所有父节点和获取完整路径

    Jquery EasyUI Combotree展开所有父节点 Jquery EasyUI Combotree获取树完整路径 Jquery EasyUI tree展开所有父节点 Jquery EasyU ...

  3. JDBC driver for MySQL连接提示"The connection property 'zeroDateTimeBehavior' acceptable values are: 'CONVERT_TO_NULL', 'EXCEPTION' or 'ROUND'. The value 'convertToNull' is not acceptable."解决方案

    1.使用了8.0以上版本的JDBC driver for MySQL,降回5.x版本. 2.不对JDBC driver for MySQL降级.修改数据库连接字符串,添加serverTimezone属 ...

  4. Ubuntu下开启Mysql远程访问的方法

    首先想说,JetProfiler对分析项目中MySQL问题以及优化,是个非常好的工具.但是看网上文章,中文介绍真的不多.是因为国内现在都不用MySQL了吗? 因为公司JetProfiler是共用的,安 ...

  5. linux 安装配置nexus以及maven私服应用

    ---------------------nexus---------------------- 1.编辑nexus脚本, 配置 RUN_AS_USER 参数vi /usr/local/src/nex ...

  6. 25.redux回顾,redux中的action函数异步

    回顾:Redux: 类似于 Vuex 概念:store/reducer/action action:动作 {type,.....} 一定要有type 其他属性不做限制 reducer:通过计算产生st ...

  7. [转] - Weiflow——微博机器学习框架

    Weiflow--微博机器学习框架 本文从开发效率(易用性).可扩展性.执行效率三个方面,介绍了微博机器学习框架Weiflow在微博的应用和最佳实践. 在上期<基于Spark的大规模机器学习在微 ...

  8. Background removal with deep learning

    [原文链接] Background removal with deep learning   This post describes our work and research on the gree ...

  9. 【MySQL】锁——查看当前数据库锁请求的三种方法 20

    MySQL提供了查看当前数据库锁请求的三种方法:1. show  full  processlist命令  观察state和info列 2. show engine  innodb status\G ...

  10. ML.NET 0.9特性简介

    ML.NET 0.9已于上周发布,距离上次0.8版本的发布只有一个多月,此次增加的新特性主要包括特征贡献计算,模型可解释性增强,ONNX转换对GPU的支持,Visual Studio ML.NET项目 ...