Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态

简介: Linux操作系统调优相关工具(四)查看Network运行状态 和系统整体运行状态

一、使用nload监控总体带宽使用情况

1.1安装nload

[root@120 ~]# yum install epel-release -y  

[root@120 ~]# yum install nload -y

二、开始监控

[root@120 ~]# nload   #开始监控

然后另一个终端上运行ab,开始测试:

[root@120 ~]# ab -n 1000 -c 2 http://www.baidu.com/index.html  #产生一些测试数据

三、使用nethogs找出使用带宽最多的进程

nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。3.1上传到nethogs到linux上:

[root@120 ~]# yum install  epel-release  nethogs -y

[root@120 ~]# nethogs    就可以看到

3.2在另一个终端生成一些数据:下载个文件

 四、 查看系统整体运行状态

4.1  使用vmstat查看内存及系统整体运行状态
vmstat  :命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,MEM内存使用,VMSwap虚拟内存交换情况,IO读写情况。
使用vmstat可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率。  比top命令节省资源。
注:当机器运行比较慢时,建议大家使用vmstat查看运行状态,不需要使用top,因top使用资源比较多。
例:[root@120 ~]# vmstat

每一列参数作用:

r 运行状态的进程个数 。展示了正在执行和等待cpu资源的任务个数。当这个值超过了cpu个数,就会出现cpu瓶颈。

b 不可中断睡眠 正在进行i/o等待--阻塞状态的进程个数  进程读取外设上的数据,等待时

free   剩余内存,单位是KB

buffers #内存从磁盘读出的内容

cached #内存需要写入磁盘的内容

si  swapin   swap换入到内存

so swapout  内存换出到swap   换出的越多,内存越不够用

bi  blockin 从硬盘往内存读。 单位是块。   把磁盘中的数据读入内存

bo blockout 从内存拿出到硬盘 (周期性的有值) 写到硬盘

#判断是读多还是写多,是否有i/o瓶颈

in 系统的中断次数,cpu调度的次数多

cs 每秒的上下文切换速度  

CPU上下文切换--程序在运行的时候,CPU对每个程序切换的过程。

us 用户CPU时间

sy 系统CPU时间,如果太高,表示系统调用时间长,例如是IO操作频繁。

id  空闲 CPU时间,一般来说,id + us + sy = 100,一般我认为id是空闲CPU使用率,us是用户CPU使用率sy是系统CPU使用率。

wt  等待IO CPU时间。

st:Steal time  虚拟 CPU 等待实际 CPU 的时间的百分比

 

4.2  使用sar命令记录系统一段时间的运行状态

安装sar命令

[root@120 ~]# yum -y install sysstat

sysstat 工具包可以把检查到的信息保存下来,存在/var/log/sa目录下。 sar 默认显示每10分钟统计一次状态信息(从装sysstat包开始)

sar 命令行的常用格式: sar [options] [-A] [-o file] t [n]

在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,

下面只列出常用选项:

-A:所有报告的总和。

-n:网络接口的情况。

-u:CPU利用率

-v:进程、I节点、文件和锁表状态。

-d:硬盘使用报告。

-r:没有使用的内存页面和硬盘块。

-g:串口I/O的情况。

-b:缓冲区使用情况。

-a:文件读写情况。

-c:系统调用情况。

-R:进程的活动情况。

-y:终端设备活动情况。

-w:系统交换活动。

-o 文件名:打印到屏幕并将采样结果以二进制形式存入当前目录下的文件中。

-f 文件名:查看之前保存的二进制文件。

-d 显示磁盘

-d 1 100 必须得指定次数

-c 每秒创建进程的个数

-i 1 10 指定时间间隔

-P 查看cpu

-r 查看内存

-w 每秒上下文切换次数

-o /cpu.sar 保存并显示

-f cpu.sar 读取

例1:每2秒采样一次,连续采样5次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件cpu.sar中

[root@120 ~]# sar -u 2 5 -o cpu.sar  #屏幕显示以一下内容,同时内容也会写到当前目录的./cpu.sar中

[root@120 ~]#  sar -u 2 5 -o cpu.sar

在显示内容包括:

%usr:CPU处在用户模式下的时间百分比。

%sys:CPU处在系统模式下的时间百分比。

%iow:CPU等待输入输出完成时间的百分比。

%idle:CPU空闲时间百分比。

在所有的显示中,我们应主要注意%iow和%idle,%iow的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

例:查看二进制文件cpu.sar中的内容
[root@120 ~]# sar -u -f cpu.sar
注:sar命令即可以实时采样,又可以对以往的采样结果进行查询。

4.3  查看sar 的计划任务并读取日志:
1、查看sar 的计划任务
[root@120 ~]# cat  /etc/cron.d/sysstat

2、读取日志

[root@120 ~]# ls /var/log/sa   #只要安装sar后就会定期收集系统信息

sa15  sa19

使用参数-n查看网络接口流量情况

[root@120 ~]# sar -n DEV -f  /var/log/sa/sa04  #查看网络相关信息

3、查看内存和硬盘

[root@120 ~]#  sar -r -f  /var/log/sa/sa15  

-r 查看内存

[root@120 ~]#  sar -d -f  /var/log/sa/sa15  

-d:硬盘使用报告。

4、sar最大特点是可以监控所有状态,sar的其他使用方法如下:

sar -r 1       #查看内存

sar -n ALL    #查看所有

sar -b 1 10    #缓冲区使用情况,每秒刷新一次,查看10次

sar -I ALL 1 10

sar -r -f /tmp/file      -n    -r   -b   -m

sar -s 15:00:00 -e 15:30:00  #查看某个时间段,系统运行情况

sar -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01

sar -r -s 15:00:00 -e 15:30:20 -f /var/log/sa/sa01

 

还有个工具 netstat   查看网络连接数。

实战:查看恶意访问服务器次数最多的IP地址并封掉

通过:netstat  查看网络连接数。如果一个IP地址对服务器建立很多连接数(比如一分钟产生了100个连接),就认为发生了DDOS

netstat -ntu | awk '{print $5}' | cut -d: -f4 | sort | uniq -c | sort -n
注释:
netstat -ntu | awk '{print $5}' | cut -d: -f4    | sort | uniq -c | sort -n
            
              截取外网IP和端口     截取外网的IP以:为分隔符  |排序 | 排除相同的记录  | 排序并统计

 

以上就是总结的linu调优思路和常用的调优工具。

总结

  • 系统调优4大子系统
  • 实战1:找出系统中使用CPU最多的进程   top  -》 P 或  ps -axu --sort -pcpu
  • 实战2:找出系统中使用内存最多的进程  top -》 M   或  ps -axu --sort -rss
  • 实战3:找出系统中对磁盘读写最多的进程 iostat  和 iotop
  • 实战4:找出系统中使用网络最多的进程  nload , iptraf ,nethogs
目录
相关文章
|
6天前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
50 23
Linux系统之whereis命令的基本使用
|
4天前
|
运维 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot 是阿里云推出的一款操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行和系统运维调优等功能。通过简单的命令行操作,用户可以快速获取所需信息并执行任务,极大提升了Linux系统的使用效率。安装步骤简单,只需在阿里云服务器上运行几条命令即可完成部署。使用过程中,OS Copilot不仅能帮助查找命令,还能处理文件和复杂场景,显著节省了查找资料的时间。体验中发现,部分输出格式和偶尔出现的英文提示有待优化,但整体非常实用,特别适合Linux初学者。
43 10
|
1月前
|
缓存 安全 Linux
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
109 23
|
1月前
|
弹性计算 自然语言处理 Ubuntu
OS Copilot-操作系统智能助手-Linux新手小白的福音
OS Copilot是由阿里云推出的操作系统智能助手,专为Linux新手设计,支持自然语言问答、辅助命令执行等功能,极大提升了Linux系统的使用效率。用户只需通过简单的命令或自然语言描述问题,OS Copilot即可快速提供解决方案并执行相应操作。例如,查询磁盘使用量等常见任务变得轻松快捷。此外,它还支持从文件读取复杂任务定义,进一步简化了操作流程。虽然在某些模式下可能存在小问题,但总体上大大节省了学习和操作时间,提高了工作效率。
131 2
OS Copilot-操作系统智能助手-Linux新手小白的福音
|
30天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
70 7
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
66 5
|
1月前
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
|
2月前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
121 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
343 8
|
3月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
1128 6