Linux服务器性能、网络监控

参考
1.Linux监控指令
2.Linux服务器上监控网络带宽的18个常用命令和linux带宽流量监控查看工具
3.Linux top指令

文章目录

    • Linux 命令行工具
    • 总体性能监控
    • 网络监控
    • 网络监控iftop
    • 磁盘IO使用情况和性能分析 iostat

Linux 命令行工具

Linux服务器性能、网络监控_第1张图片

总体性能监控

$ top

直接输入 top,返回下图所示内容,其中,load average: 0.00,0.01,0.05 分别表示最近1分钟、5分钟和15分钟的负载,数值越高负载越大。一般要求最好不要超过cpu的核数。比如,单核就最好小于1。如果看到机器长期出于高于核数的情况,说明机器的cpu排队严重。

%Cput(s)这一行表示的是cpu使用情况,例如cpu的利用率、空闲等信息。如果按下数字键“1”,还可以看到每一个核的情况。

我们还可以查看每一个进程的情况,可以运行的时候加上-p参数:top -p pid即可。如果想按照某种方式排序,只需要按下大写的字母“O”,即可选择排序。

我们还可以按下大写的M:根据内存占用降序排序,
按下大写的P:根据CPU占用降序排序

首先是我们的老面孔。top、vmstat、sar命令,可以初步判断io情况。
bi、bo等在你了解磁盘的类型后才有判断价值。wa已经达到30%,证明cpu耗费在上面的时间太多。

查看应用启动指令以及pid

ps -ef | grep java

在这里插入图片描述

网络监控

$ nethogs 

安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。

ubuntu或debian(默认软件库)

$ sudo apt-get install nethogs 

fedora或centos(来自epel)

$  yum install nethogs -y 

交互命令
以下是NetHogs的一些交互命令(键盘快捷键)

m : 修改单位
r : 按流量排序
s : 按发送流量排序
q : 退出命令提示符

网络监控iftop

查看占流量最大的IP
有时候我们发现网络带宽占用非常高,但我们无法判断到底流量来自哪里。这时候,iftop就可以帮上忙了。如图,可以很容易的找出流量来自哪台主机。

安装:

yum install iftop

使用

iftop
iftop -B # 以bytes为单位显示流量(默认是bits)
iftop -m 100M #设置界面最上边的刻度的最大值,刻度分五个大段显示

iftop界面相关说明
界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。

中间的=>箭头表示出流量方向, <= 箭头表示入流量方向

TX:发送流量
RX:接收流量
TOTAL:总流量
Cumm:运行iftop到目前时间的总流量
peak:流量峰值
rates:分别表示过去 2s 10s 40s 的平均流量

iftop相关参数
常用的参数
-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-f这个暂时还不太会用,过滤计算包用的;

-P使host信息及端口信息默认就都显示;

-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M

进入iftop画面后的一些操作命令(注意大小写)
按h切换是否显示帮助;

按n切换显示本机的IP或主机名;

按s切换是否显示本机的host信息;

按d切换是否显示远端目标主机的host信息;

按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;

按N切换显示端口号或端口服务名称;

按S切换是否显示本机的端口信息;

按D切换是否显示远端目标主机的端口信息;

按p切换是否显示端口信息;

按P切换暂停/继续显示;

按b切换是否显示平均流量图形条;

按B切换计算2秒或10秒或40秒内的平均流量;

按T切换是否显示每个连接的总流量;

按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;

按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;

按j或按k可以向上或向下滚动屏幕显示的连接记录;

按1或2或3可以根据右侧显示的三列流量数据进行排序;

按<根据左边的本机名或IP排序;

按>根据远端目标主机的主机名或IP排序;

按o切换是否固定只显示当前的连接;

按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!

按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!

按q退出监控。

常见问题
1、make: yacc: Command not found
make: *** [grammar.c] Error 127

解决方法:apt-get install byacc / yum install byacc

2、configure: error: Curses! Foiled again!
(Can’t find a curses library supporting mvchgat.)
Consider installing ncurses.

解决方法:apt-get install libncurses5-dev / yum install ncurses-devel

磁盘IO使用情况和性能分析 iostat

iostat
使用

iostat
iostat -x 1 # 1秒刷新一次

在这里插入图片描述
参数说明:
%util 最重要的判断参数。一般地,如果该参数是100%表示设备已经接近满负荷运行了

Device 表示发生在哪块硬盘。如果你有多快,则会显示多行

avgqu-sz 这个值是请求队列的饱和度,也就是平均请求队列的长度。毫无疑问,队列长度越短越好

await 响应时间应该低于5ms,如果大于10ms就比较大了。这个时间包括了队列时间和服务时间

svctm 表示平均每次设备I/O操作的服务时间。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢

总体来说,%util 代表了硬盘的繁忙程度,是你进行扩容增加配置的指标。而await、avgqu-sz、svctm等是硬盘的性能指标,如果%util正常的情况下反应异常则代表你的磁盘可能存在问题。

你可能感兴趣的:(服务器,linux,网络)