系统调优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. php -- func_get_args

    该方法必须在某个方法内部执行才有效 返回值为索引数组,一个数组元素对应一个参数

  2. Linux 正则表达式_010

    Linux 正则表达式 标注:本教程只针对linux运维的三剑客命令awk,sed,grep正则表达式 什么是正则表达式? 简单的说,正则表达式就是为处理大量的字符串而定义的一套规则和方法通过定义的这 ...

  3. [redis] mac下redis安装、设置、启动停止

    From: https://www.cnblogs.com/shoren/p/redis.html 下载安装 需要下载release版本,下载地址: http://download.redis.io/ ...

  4. BCP文件导入SQLServer数据库遇到的问题

    1. BCP文件插入sql server数据库,未指定数据库字段类型情况下,需要每个字段单独指定字段长度 2.文件中的存储值得类型 3.设置最大的类型

  5. Java并发面试题

    一.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速.比如,如果一个线程完成一 ...

  6. 使用 intro.js 库

    使用 render() { const reducer = this.props.testReducer; return ( <React.Fragment> <button dat ...

  7. 6.1 Pandora 实操 - 数据收集

    添加机器 添加机器命令,在 linux 机器上执行此命令 添加成功 添加收集器 采集机器数据 解析数据 转换数据 发送数据 接着,下一步即,成功创建收集任务. 分发机器 确认收集人物,绑定到机器上. ...

  8. 记一次Springboot启动异常

    启动Springboot项目报以下异常: org.springframework.context.ApplicationContextException: Unable to start web se ...

  9. 【C++语法基础】实验1

    实验内容: 题目:输入 1~7 的整数,如果输入的是 1~5,则输出“workday. Let’s work hard”:如果输入的是 6~7,则输出“weekend. Let’s have a re ...

  10. tuple的基本使用

    常用如下所示: # 元祖,tuple-->不可变,但元祖里面的数据可以变化 # 当元祖只有一个元素时,需加’,‘,否则类型是<class 'int'> # tuple1 = (1) ...