怎样分析linux的性能指标
top可以内存、cpu等等
df -h查看磁盘空间
iostat看磁盘io
一、处理器参数
这是一个很简单的参数,它直观的描述了每个CPU的利用率。在xSeries架构中,如果CPU的利用率长时间的超过80%,就可能是出现了处理器的瓶颈。
Runable processes
这个值描述了正在准备被执行的进程,在一个持续时间里这个值不应该超过物理CPU数量的10倍,否则CPU方面就可能存在瓶颈。
Blocked
描述了那些因为等待I/O操作结束而不能被执行的进程,Blocked可能指出你正面临I/O瓶颈。
User time
描述了处理用户进程的百分比,包括nice time。如果User time的值很高,说明系统性能用在处理实际的工作。
System time
描述了CPU花费在处理内核操作包括IRQ和软件中断上面的百分比。如果system time很高说明系统可能存在网络或者驱动堆栈方面的瓶颈。一个系统通常只花费很少的时间去处理内核的操作。
Idle time
描述了CPU空闲的百分比。
Nice time
描述了CPU花费在处理re-nicing进程的百分比。
Context switch
系统中线程之间进行交换的数量。
Waiting
CPU花费在等待I/O操作上的总时间,与blocked相似,一个系统不应该花费太多的时间在等待I/O操作上,否则你应该进一步检测I/O子系统是否存在瓶颈。
Interrupts
Interrupts值包括硬Interrupts和软Interrupts,硬Interrupts会对系统性能带
来更多的不利影响。高的Interrupts值指出系统可能存在一个软件的瓶颈,可能是内核或者驱动程序。注意Interrupts值中包括CPU时钟导
致的中断(现代的xServer系统每秒1000个Interrupts值)。
二、内存参数
Free memory
相比其他操作系统,Linux空闲内存的值不应该做为一个性能参考的重要指标,因为就像我们之前提到过的,Linux内核会分配大量没有被使用的内存作为文件系统的缓存,所以这个值通常都比较小。
Swap usage
这个值描述了已经被使用的swap空间。Swap
usage只表示了Linux管理内存的有效性。对识别内存瓶颈来说,Swap In/Out才是一个比较又意义的依据,如果Swap
In/Out的值长期保持在每秒200到300个页面通常就表示系统可能存在内存的瓶颈。
Buffer and cache
这个值描述了为文件系统和块设备分配的缓存。注意在Red Hat Enterprise Linux
3和更早一些的版本中,大部分空闲内存会被分配作为缓存使用。在Red Hat Enterprise Linux
4以后的版本中,你可以通过修改/proc/sys/vm中的page_cache_tuning来调整空闲内存中作为缓存的数量。
Slabs
描述了内核使用的内存空间,注意内核的页面是不能被交换到磁盘上的。
Active versus inactive memory
提供了关于系统内存的active内存信息,Inactive内存是被kswapd守护进程交换到磁盘上的空间。
三、网络参数
Packets received and sent
这个参数表示了一个指定网卡接收和发送的数据包的数量。
Bytes received and sent
这个参数表示了一个指定网卡接收和发送的数据包的字节数。
Collisions per second
这个值提供了发生在指定网卡上的网络冲突的数量。持续的出现这个值代表在网络架构上出现了瓶颈,而不是在服务器端出现的问题。在正常配置的网络中冲突是非常少见的,除非用户的网络环境都是由hub组成。
Packets dropped
这个值表示了被内核丢掉的数据包数量,可能是因为防火墙或者是网络缓存的缺乏。
Overruns
Overruns表达了超出网络接口缓存的次数,这个参数应该和packets dropped值联系到一起来判断是否存在在网络缓存或者网络队列过长方面的瓶颈。
Errors
这个值记录了标志为失败的帧的数量。这个可能由错误的网络配置或者部分网线损坏导致,在铜口千兆以太网环境中部分网线的损害是影响性能的一个重要因素。
四、块设备参数
Iowait
CPU等待I/O操作所花费的时间。这个值持续很高通常可能是I/O瓶颈所导致的。
Average queue length
I/O请求的数量,通常一个磁盘队列值为2到3为最佳情况,更高的值说明系统可能存在I/O瓶颈。
Average wait
响应一个I/O操作的平均时间。Average wait包括实际I/O操作的时间和在I/O队列里等待的时间。
Transfers per second
描述每秒执行多少次I/O操作(包括读和写)。Transfers per second的值与kBytes per second结合起来可以帮助你估计系统的平均传输块大小,这个传输块大小通常和磁盘子系统的条带化大小相符合可以获得最好的性能。
Blocks read/write per second
这个值表达了每秒读写的blocks数量,在2.6内核中blocks是1024bytes,在早些的内核版本中blocks可以是不同的大小,从512bytes到4kb。
Kilobytes per second read/write
按照kb为单位表示读写块设备的实际数据的数量。
监控
UNIX/Linux
系统方法
一、准备工作:
1.
可以通过两种方法验证服务器上是否配置
rstatd
守护程序:
①使用
rup
命令,它用于报告计算机的各种统计信息,其中就包括
rstatd
的配置信息。使用命
令
rup
10.130.61.203,
此处
10.130.61.203
是要监视的
linux/Unix
服务器的
IP
,如果该命令返回相关的
统计信息。则表示已经配置并且激活了
rstatd
守护进程;若未返回有意义的统计信息,或者出现一
条错误报告,则表示
rstatd
守护进程尚未被配置或有问题。
②使用
find
命令
#find / -name rpc.rstatd,
该命令用于查找系统中是否存在
rpc.rstatd
文件,如果没有,说明系统没
有安装
rstatd
守护程序。
2
.
linux
需要下载
3
个包:
(
1
)
rpc.rstatd-4.0.1.tar.gz
(
2
)
rsh-0.17-14.i386.rpm
(
3
)
rsh-server-0.17-14.i386.rpm
3
.下载并安装
rstatd
如果服务器上没有安装
rstatd
程序(一般来说
LINUX
都没有安装)
,需要下载一个包才有这个服
务
,
包
名
字
是
rpc.rstatd-4.0.1.tar.gz.
这
是
一
个
源
码
,
需
要
编
译
,
下
载
并
安
装
rstatd
(
可
以
在
http://sourceforge.net/projects/rstatd
这个地址下载)下载后,开始安装,安装步骤如下:
tar -xzvf rpc.rstatd-4.0.1.tar.gz
cd rpc.rstatd-4.0.1/
./configure
—配置操作
make
—进行编译
make install
—开始安装
rpc.rstatd
—启动
rstatd
进程
“
rpcinfo -p
”命令来查看当前系统是否已经启动了
rstatd
守护进程
只要保证
Linux
机器上的进程里有
rstatd
和
xinetd
这二个服务就可以用
LR
去监视了,通过以下
两点可以检查是否启动:
1
)检查是否启动
: rsh server
监听的
TCP
是
514
。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到
514
在监听说明
rsh
服务器已经启动。
2
)检查是否启动
: rstatd
输入命令
: rpcinfo -p
如果能看到类似如下信息:
程序版本协议端口
100001
5
udp
937
rstatd
100001
4
udp
937
rstatd
100001
3
udp
937
rstatd
100001
2
udp
937
rstatd
100001
1
udp
937
rstatd
那就说明
rstatd
服务启动了
,(
当然这里也可以用
ps ax
代替
)
4
.安装
rsh
和
rsh-server
两个服务包方法
a.
卸载
rsh
# rpm
–
q
rsh----------
查看版本号
# rpm
-e
版本号
---------
卸载该版本。
b
.安装
# rpm
–
ivh rsh-0.17-14.i386.rpm rsh-server-0.17-14.i386.rpm
在启动
rpc.rstatd
时,
会报错
“
Cannot register service: RPC: Unable to receive; errno = Ction refused
”
。
解决方法如下:
# /etc/init.d/portmap start
# /etc/init.d/nfs start
然后再次启动
rpc.rstatd
就好了。
5
.安装
xinetd
方法:
①查看
xinetd
服务:
[root@localhost ~]# rpm -q xinetd
xinetd-2.3.14-10.el5
②安装
xinetd
服务:
[root@localhost ~]# yum install xinetd
如果安装不起
xinetd
服务,执行下列操作命令后再次执行
yum install xinetd
命令进行安装:
yum clean packages
清除缓存目录下的软件包
yum clean headers
清除缓存目录下的
headers
yum clean oldheaders
清除缓存目录下旧的
headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
清除缓存目录下的软件包
及旧的
headers
。
6
.启动
xinetd
服务:
在有的系统中,通过如下命令重启:
# service xinetd reload
# /sbin/service xinetd rstart
在
suse linux
中如下操作:
cd /etc/init.d/xinetd restart
2
)
安装完成后配置
rstatd
目标守护进程
xinetd,
它的主配置文件是
/etc/xinetd.conf ,
它里面内容是
一些如下的基本信息:
#
# xinetd.conf
#
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#
defaults
{
log_type
= FILE /var/log/xinetd.log
log_on_success = HOST EXIT DURATION
log_on_failure = HOST ATTEMPT
#
only_from
= localhost
instances
= 30
cps
= 50 10
#
# The specification of an interface is interesting, if we are on a firewall.
# For example, if you only want to provide services from an internal
# network interface, you may specify your internal interfaces IP-Address.
#
#
interface
= 127.0.0.1
}
includedir /etc/xinetd.d
我们这里需要修改的是
/etc/xinetd.d/
下的三个
conf
文件
rlogin
,rsh,rexec
这三个配置文件
,
打这
三个文件里的
disable = yes
都改成
disable = no ( disabled
用在默认的
{}
中禁止服务
)
或是把
# default:
off
都设置成
on
这个的意思就是在
xinetd
启动的时候默认都启动上面的三个服务
!
说明:我自己在配置时,没有
disable = yes
这项,我就将
# default: off
改为:
default: on
,重启后
(cd /etc/init.d/./xinetd restart
)通过
netstat -an |grep 514
查看,没有返回。然后,我就手动在三个文
件中最后一行加入
disable
=
no
,再重启
xinetd
,再使用
netstat
-an
|grep
514
查看,得到
tcp
0
0
0.0.0.0:514 0.0.0.0:* LISTEN
结果,表明
rsh
服务器已经启动。
看到网上有的地方说使用如下命令:
# service xinetd reload
# /sbin/service xinetd rstart
不知道是在什么系统用的。
二、监控
linux
资源:
在
controller
中,将
System resource Graphs
中的
Unix resources
拖到右侧的监控区域中,并单击
鼠标右键选择“
Add
Measurements
”
,
在弹出的对话框中输入被监控的
linux
系统的
IP
地址,然后选
择需要监控的性能指标,并点击“确定”
,出现如下结果:
Monitor name :UNIX Resources. Cannot initialize the monitoring on 10.10.15.62.
Error while creating the RPC client. Ensure that the machine can be connected and that it runs the
rstat daemon (use rpcinfo utility for this verification).
Detailed error: RPC: Failed to create RPC client.
RPC-TCP: Failed to establish RPC server address.
RPC-TCP: Failed to communicate with the portmapper on host '10.10.15.62'.
RPC: RPC call failed.
RPC-TCP: recv()/recvfrom() failed.
RPC-TCP: Timeout reached. (entry point: CFactory::Initialize). [MsgId: MMSG-47190]
检查原因,发现是
Linux
系统中的防火墙开启了并且阻挡了
LoadRunner
监控
Linux
系统的资源,
因此要将防火墙关闭。
关闭防火墙:
[root@localhost ~]# /etc/init.d/iptables stop;
三、监控
UNIX
lr
监控
UNIX
,
UNIX
先启动一
rstatd
服务
以下是在
IBM AIX
系统中启动
rstatd
服务的方法:
1
.使用
telnet
以
root
用户的身份登录入
AIX
系统
2
.在命令行提示符下输入:
vi /etc/inetd.conf
3
.查找
rstatd
,找到
#rstatd
sunrpc_udp
udp
wait
root /usr/sbin/rpc.rstatd rstatd 100001 1-3
4
、将
#
去掉
5
、
:wq
保存修改结果
6
、命令提示符下输入:
refresh
–
s inetd
重新启动服务。
这样使用
loadrunner
就可以监视
AIX
系统的性能情况了。
注:在
HP UNIX
系统上编辑完
inetd.conf
后,重启
inetd
服务需要输入
inetd -c
UNIX
上也可以用
rup
命令查看
rstatd
程序是否被配置并激活
若
rstatd
程序已经运行,
重启时,
先查看进程
ps -ef |grep inet
,
然后杀掉进程,
再
refresh
–
s inetd
进行重启。
一、CPU
1、良好状态指标
CPU利用率:User Time
<= 70%,System Time <= 35%,User Time + System
Time <= 70%。
上下文切换:与CPU利用率相关联,如果CPU利用率状态良好,大量的上下文切换也是可以接受的。
可运行队列:每个处理器的可运行队列<=3个线程。
2、监控工具
vmstat
$ vmstat 1
procs -----------memory---------- ---swap-------io---- --system--
-----cpu------
r b swpd free buff cache si so bi bo in cs
us sy id wa st
14 0 140 2904316 341912 3952308 0 0 0 4601106 9593 36 64 1 0 0
17 0 140 2903492 341912 3951780 0 0 0 0 1037 9614 35 65 1 0 0
20 0 140 2902016 341912 3952000 0 0 0 0 1046 9739 35 64 1 0 0
17 0 140 2903904 341912 3951888 0 0 0 76 1044 9879 37 63 0 0 0
16 0 140 2904580 341912 3952108 0 0 0 0 1055 9808 34 65 1 0 0
重要参数:
r,run queue,可运行队列的线程数,这些线程都是可运行状态,只不过CPU暂时不可用;
b,被blocked的进程数,正在等待IO请求;
in,interrupts,被处理过的中断数
cs,context switch,系统上正在做上下文切换的数目
us,用户占用CPU的百分比
sys,内核和中断占用CPU的百分比
id,CPU完全空闲的百分比
上例可得:
sy高us低,以及高频度的上下文切换(cs),说明应用程序进行了大量的系统调用;
这台4核机器的r应该在12个以内,现在r在14个线程以上,此时CPU负荷很重。
查看某个进程占用的CPU资源
$ while :; do ps -eo pid,ni,pri,pcpu,psr,comm
| grep 'db_server_login'; sleep 1;
done
PID NIPRI %CPU PSR COMMAND
28577 0
23 0.0 0
db_server_login
28578 0
23 0.0 3
db_server_login
28579 0
23 0.0 2
db_server_login
28581 0
23 0.0 2
db_server_login
28582 0
23 0.0 3
db_server_login
28659 0
23 0.0 0
db_server_login
……
二、Memory
1、良好状态指标
swap
in
(si)
==
0,swap
out
(so)
==
0
应用程序可用内存/系统物理内存
<=
70%
2、监控工具
vmstat
$ vmstat 1
procs -----------memory---------- ---swap-------io---- --system--
-----cpu------
r b swpd free buff cache si so bi bo in csus
sy id wa st
0 3 252696 2432 268 7148 3604 2368 3608 2372 288 288 0 0 21 78 1
0 2 253484 2216 228 7104 5368 2976 5372 3036 930 519 0 0 0 100 0
0 1 259252 2616 128 6148 19784 18712 19784 18712 3821
1853 0 1 3 95 1
1 2 260008 2188 144 6824 11824 2584 12664 2584 1347 1174 14 0 0 86 0
2 1 262140 2964 128 5852 24912 17304 24952 17304 4737 2341 86
10 0 0 4
重要参数:
swpd,已使用的 SWAP 空间大小,KB 为单位;
free,可用的物理内存大小,KB 为单位;
buff,物理内存用来缓存读写操作的buffer大小,KB 为单位;
cache,物理内存用来缓存进程地址空间的 cache 大小,KB 为单位;
si,数据从 SWAP 读取到 RAM(swap in)的大小,KB 为单位;
so,数据从 RAM 写到 SWAP(swap out)的大小,KB 为单位。
上例可得:
物理可用内存 free 基本没什么显著变化,swapd逐步增加,说明最小可用的内存始终保持在 256MB(物理内存大小) * 10% = 2.56MB 左右,当脏页达到10%的时候就开始大量使用swap。
free
$ free -m
total used free shared buffers cached
Mem: 8111 7185 926 0 243 6299
-/+ buffers/cache: 643 7468
Swap: 8189 0 8189
三、磁盘IO
1、良好状态指标
iowait % < 20%
提高命中率的一个简单方式就是增大文件缓存区面积,缓存区越大预存的页面就越多,命中率也越高。
Linux 内核希望能尽可能产生次缺页中断(从文件缓存区读),并且能尽可能避免主缺页中断(从硬盘读),这样随着次缺页中断的增多,文件缓存区也逐步增大,直到系统只有少量可用物理内存的时候 Linux 才开始释放一些不用的页。
2、监控工具
查看物理内存和文件缓存情况
$ cat /proc/meminfo
MemTotal: 8182776 kB
MemFree: 3053808 kB
Buffers: 342704 kB
Cached: 3972748 kB
这台服务器总共有 8GB 物理内存(MemTotal),3GB 左右可用内存(MemFree),343MB左右用来做磁盘缓存(Buffers),4GB左右用来做文件缓存区(Cached)。
sar
$ sar -d 2 3
Linux 2.6.9-42.ELsmp (webserver) 11/30/2008_i686_ (8 CPU)
11:09:33 PM DEV tps rd_sec/s wr_sec/s avgrq-szavgqu-sz await svctm
%util
11:09:35 PM dev8-0 0.00 0.00 0.00 0.00 0.00 0.000.00 0.00
11:09:35 PM DEV tps rd_sec/s wr_sec/s avgrq-szavgqu-sz await svctm
%util
11:09:37 PM dev8-0 1.00 0.00 12.00 12.00 0.000.00 0.00 0.00
11:09:37 PM DEV tps rd_sec/s wr_sec/s avgrq-szavgqu-sz await svctm
%util
11:09:39 PM dev8-0 1.99 0.00 47.76 24.00 0.000.50 0.25 0.05
Average: DEV tpsrd_sec/s wr_sec/s avgrq-sz
avgqu-sz await svctm %util
Average: dev8-0 1.00 0.00 19.97 20.00 0.00 0.330.17 0.02
重要参数:
await表示平均每次设备I/O操作的等待时间(以毫秒为单位)。
svctm表示平均每次设备I/O操作的服务时间(以毫秒为单位)。
%util表示一秒中有百分之几的时间用于I/O操作。
如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长,系统上运行的应用程序将变慢。
如果%util接近100%,表示磁盘产生的I/O请求太多,I/O系统已经满负荷的在工作,该磁盘可能存在瓶颈。
四、Network IO
对于UDP
1、良好状态指标
接收、发送缓冲区不长时间有等待处理的网络包
2、监控工具
netstat
对于UDP服务,查看所有监听的UDP端口的网络情况
$ watch netstat -lunp
Proto Recv-Q Send-Q Local
Address
Foreign
Address
State
PID/Program name
udp
0
0
0.0.0.0:64000
0.0.0.0:*
-
udp
0
0
0.0.0.0:38400
0.0.0.0:*
-
udp
0
0
0.0.0.0:38272
0.0.0.0:*
-
udp
0
0
0.0.0.0:36992
0.0.0.0:*
-
udp
0
0
0.0.0.0:17921
0.0.0.0:*
-
udp
0
0
0.0.0.0:11777
0.0.0.0:*
-
udp
0
0
0.0.0.0:14721
0.0.0.0:*
-
udp
0
0
0.0.0.0:36225
0.0.0.0:*
-
RecvQ、SendQ为0,或者不长时间有数值是比较正常的。
对于UDP服务,查看丢包情况(网卡收到了,但是应用层没有处理过来造成的丢包)
$ watch netstat -su
Udp:
278073881
packetsreceived
4083356897
packetsto unknown port received.
2474435364
packet
receive errors
1079038030
packetssent
packet receive errors 这一项数值增长了,则表明在丢包
对于TCP(来自davidshan单卫的经验,thx~~)
1、良好状态指标
对于TCP而言,不会出现因为缓存不足而存在丢包的事,因为网络等其他原因,导致丢了包,协议层也会通过重传机制来保证丢的包到达对方。
所以,tcp而言更多的专注重传率。
2、监控工具
# cat /proc/net/snmp | grep Tcp:
Tcp: RtoAlgorithm RtoMin RtoMaxMaxConn ActiveOpens PassiveOpens
AttemptFails EstabResets CurrEstab InSegsOutSegs RetransSegs
InErrs OutRsts
Tcp: 1 200 120000 -1 78447 413 50234 221 35984652 5653408 156800 0
849
重传率 = RetransSegs / OutSegs
至于这个值在多少范围内,算ok的,得看具体的业务了。
业务侧更关注的是响应时间。
性能分析工具汇总
CPU性能分析工具:
vmstat
ps
sar
time
strace
pstree
top
Memory性能分析工具:
vmstat
strace
top
ipcs
ipcrm
cat /proc/meminfo
cat /proc/slabinfo
cat /proc//maps
I/O性能分析工具:
vmstat
ipstat
repquota
quotacheck
Network性能分析工具:
ifconfig
ethereal
tethereal
iptraf
iwconfig
nfsstat
mrtg
ntop
netstat
cat /proc/sys/net
一、处理器参数
这是一个很简单的参数,它直观的描述了每个CPU的利用率。在xSeries架构中,如果CPU的利用率长时间的超过80%,就可能是出现了处理器的瓶颈。
Runable processes
这个值描述了正在准备被执行的进程,在一个持续时间里这个值不应该超过物理CPU数量的10倍,否则CPU方面就可能存在瓶颈。
Blocked
描述了那些因为等待I/O操作结束而不能被执行的进程,Blocked可能指出你正面临I/O瓶颈。
User time
描述了处理用户进程的百分比,包括nice time。如果User time的值很高,说明系统性能用在处理实际的工作。
System time
描述了CPU花费在处理内核操作包括IRQ和软件中断上面的百分比。如果system time很高说明系统可能存在网络或者驱动堆栈方面的瓶颈。一个系统通常只花费很少的时间去处理内核的操作。
Idle time
描述了CPU空闲的百分比。
Nice time
描述了CPU花费在处理re-nicing进程的百分比。
Context switch
系统中线程之间进行交换的数量。
Waiting
CPU花费在等待I/O操作上的总时间,与blocked相似,一个系统不应该花费太多的时间在等待I/O操作上,否则你应该进一步检测I/O子系统是否存在瓶颈。
Interrupts
Interrupts值包括硬Interrupts和软Interrupts,硬Interrupts会对系统性能带
来更多的不利影响。高的Interrupts值指出系统可能存在一个软件的瓶颈,可能是内核或者驱动程序。注意Interrupts值中包括CPU时钟导
致的中断(现代的xServer系统每秒1000个Interrupts值)。
二、内存参数
Free memory
相比其他操作系统,Linux空闲内存的值不应该做为一个性能参考的重要指标,因为就像我们之前提到过的,Linux内核会分配大量没有被使用的内存作为文件系统的缓存,所以这个值通常都比较小。
Swap usage
这个值描述了已经被使用的swap空间。Swap
usage只表示了Linux管理内存的有效性。对识别内存瓶颈来说,Swap In/Out才是一个比较又意义的依据,如果Swap
In/Out的值长期保持在每秒200到300个页面通常就表示系统可能存在内存的瓶颈。
Buffer and cache
这个值描述了为文件系统和块设备分配的缓存。注意在Red Hat Enterprise Linux
3和更早一些的版本中,大部分空闲内存会被分配作为缓存使用。在Red Hat Enterprise Linux
4以后的版本中,你可以通过修改/proc/sys/vm中的page_cache_tuning来调整空闲内存中作为缓存的数量。
Slabs
描述了内核使用的内存空间,注意内核的页面是不能被交换到磁盘上的。
Active versus inactive memory
提供了关于系统内存的active内存信息,Inactive内存是被kswapd守护进程交换到磁盘上的空间。
三、网络参数
Packets received and sent
这个参数表示了一个指定网卡接收和发送的数据包的数量。
Bytes received and sent
这个参数表示了一个指定网卡接收和发送的数据包的字节数。
Collisions per second
这个值提供了发生在指定网卡上的网络冲突的数量。持续的出现这个值代表在网络架构上出现了瓶颈,而不是在服务器端出现的问题。在正常配置的网络中冲突是非常少见的,除非用户的网络环境都是由hub组成。
Packets dropped
这个值表示了被内核丢掉的数据包数量,可能是因为防火墙或者是网络缓存的缺乏。
Overruns
Overruns表达了超出网络接口缓存的次数,这个参数应该和packets dropped值联系到一起来判断是否存在在网络缓存或者网络队列过长方面的瓶颈。
Errors
这个值记录了标志为失败的帧的数量。这个可能由错误的网络配置或者部分网线损坏导致,在铜口千兆以太网环境中部分网线的损害是影响性能的一个重要因素。
四、块设备参数
Iowait
CPU等待I/O操作所花费的时间。这个值持续很高通常可能是I/O瓶颈所导致的。
Average queue length
I/O请求的数量,通常一个磁盘队列值为2到3为最佳情况,更高的值说明系统可能存在I/O瓶颈。
Average wait
响应一个I/O操作的平均时间。Average wait包括实际I/O操作的时间和在I/O队列里等待的时间。
Transfers per second
描述每秒执行多少次I/O操作(包括读和写)。Transfers per second的值与kBytes per second结合起来可以帮助你估计系统的平均传输块大小,这个传输块大小通常和磁盘子系统的条带化大小相符合可以获得最好的性能。
Blocks read/write per second
这个值表达了每秒读写的blocks数量,在2.6内核中blocks是1024bytes,在早些的内核版本中blocks可以是不同的大小,从512bytes到4kb。
Kilobytes per second read/write
按照kb为单位表示读写块设备的实际数据的数量。
不知道你是不是指性能测试,使用UnixBench跑一下就有了。
各测试指标的说明请看链接
https://teddysun.com/245.html
怎样分析linux的性能指标
usage只表示了Linux管理内存的有效性。对识别内存瓶颈来说,Swap In\/Out才是一个比较又意义的依据,如果Swap In\/Out的值长期保持在每秒200到300个页面通常就表示系统可能存在内存的瓶颈。Buffer and cache 这个值描述了为文件系统和块设备分配的缓存。注意在Red Hat Enterprise Linux 3和更早一些的版本中...
Linux系统性能瓶颈分析与改善linux系统瓶颈分析
首先,对Linux系统进行性能分析,分析其存在的性能瓶颈,应充分利用开源的检测工具,如ps、vmstat、iostat、prstat等,也可以利用专业的工具,比如oprofile、ltrace和strace来查看系统的性能数据。另外,我们的目的在于尽量提高系统的可靠性与稳定性,因此可以参考 Linux性能文档,添加相应的参数和内核参数来进行系...
Linux内存占用分析的几个方法,你知道几个?
在Linux系统中,内存管理的精细监控是保持业务稳定的关键。通过一系列内置命令,我们可以深入了解内存状态,确保性能最佳。以下是几个不可或缺的工具和指标:free命令:这款命令是内存使用情况的窗口,它能展示内存使用、缓冲区,并支持单位转换和持续监控。一个快速的例子将展示其强大之处。vmstat:这个长周...
Linux性能分析——TOP命令详解
Linux系统中,极其实用的监控工具莫过于Top命令,它能实时洞察系统运行的方方面面,包括内核管理的进程和线程资源占用情况。Top不仅是信息的汇总器,还提供了系统负载、CPU使用率、内存占用以及每个进程详细资源消耗的实时更新视图。操作Top命令相当直观,基本指令包括查看帮助(h或?)和退出(q或Ctrl+C)。...
怎样分析linux的性能指标
UNIX\/Linux 系统方法 一、准备工作:1.可以通过两种方法验证服务器上是否配置 rstatd 守护程序:①使用 rup 命令,它用于报告计算机的各种统计信息,其中就包括 rstatd 的配置信息。使用命 令 rup 10.130.61.203,此处 10.130.61.203 是要监视的 linux\/Unix 服务器的 IP ,如果该命令返回相关的 统...
linux进程性能分析
使用性能分析工具,如top、free、iotop等,可以获取关键指标。例如,CPU负载高意味着资源紧张,而内存使用情况则需关注缓冲和缓存的合理利用。磁盘I\/O分析则帮助识别是否达到性能瓶颈,而网络IO的检查则确保数据传输效率。通过详细的性能分析,发现该工具的瓶颈主要在于CPU资源不足。增加CPU核心数量是提升性能...
Linux信号机制及其原理分析
深入理解Linux信号机制的关键在于其异步通信特性,它是软件层面模拟中断机制的一种方式。在Linux中,信号有64种,分为不可靠信号和可靠信号,可用于进程间通信。信号的产生可以由内核或用户发起。用户可以使用kill、raise、sigqueue和abort等函数来发送信号,如kill函数用于指定进程发送信号,raise则用于本进程...
一文了解Linux系统调用(实现机制分析)
在Linux系统中,系统调用是一种关键机制,允许用户空间进程通过操作系统内核访问硬件和系统资源。它与普通库函数调用类似,但运行在内核态,确保了系统的稳定性和安全性。系统调用的主要作用是作为用户进程和内核之间的中介,应用程序通过API发送请求,内核负责响应并处理这些请求。系统调用表是内核维护的,包含...
sar — Linux 上最为全面的系统性能分析工具之一
sar(System Activity Reporter 系统活动情况报告)是Linux系统性能分析的强大工具,能够提供全面的系统性能报告,包括文件读写、系统调用、磁盘I\/O、CPU使用效率、内存使用状况、进程活动及IPC活动等。通过使用sar命令,系统管理员可以实时监测和分析系统的性能指标,有效地定位和解决性能瓶颈问题。要使用sar,...
如何分析和定位 Linux 网络延迟的具体原因?
在案例中,通过tcpdump和Wireshark分析网络数据包,我们发现延迟主要来自TCP的延迟ACK机制,这在wrk的strace输出中也得到了证实。总结来说,分析网络延迟的关键在于收集和解读数据包信息,检查应用程序行为,以及理解网络协议的细节。通过这些手段,可以有效定位和解决Linux网络访问慢的问题,提升整体网络性能。
陟贫莱美: 网络使用中,我们需要简单的监测一下Linux系统的:CPU负载、内存消耗情况、几个指定目录的磁盘空间、磁盘I/O、swap的情况还有就是网络流量. 今天上海快网介绍Linux的系统性能监测参数获取方法.Linux下的性能检测工具其实都有很多...
遵义市18617294173: 怎么查看linux的cpu,内存等占用率 - ?
陟贫莱美: 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 ...
遵义市18617294173: 监控linux服务器,有哪些性能指标,指标的意义,取值在哪个范围属于正常 - ?
陟贫莱美: CPU利用率、内存利用率、swap、硬盘利用率、硬盘I/O、流量监控等等
遵义市18617294173: Linux怎么使用nmon监控性能,分析系统性能数据 - ?
陟贫莱美: 首先要进行下载一个nmon,可以直接通过wget 方法进行下载.2 下载完成之后,进行解压文件,unzip nmon_x86_12a.zip.3 然后把解压出三个文件中,对应的自己的系统移动,这里选择的是nmon_x86_rhel45命令为:mv nmon_86_rhel45 /usr...
遵义市18617294173: 如何检测Linux路由器的性能? - ?
陟贫莱美: 目前有几种监测在这种环境中路由器性能的方法.性能管理包括管理单个设备的容量和资源分配以及路由器之间的通信量.每一个组成部分都有助于找出潜在的问题,如路由器内存过载或者处理器的使用超过了使用能力以及阻塞等. 测量服务器...
遵义市18617294173: Linux系统下常用性能分析工具top命令,怎么详解? - ?
陟贫莱美: 举个例子:top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48 Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie Cpu(s): 0.3% us, 1.0% sy, 0.0% ni, 98.7% id, 0.0% wa, 0.0% hi, 0.0% si Mem: 191272k total, 173656k used, ...
遵义市18617294173: 服务器的性能指标有哪些? - ?
陟贫莱美: 我们以Windows服务器、Linux服务器和IBM AIX服务器为例,分别说明如下:Windows监控功能: 1、管理Windows的可用性和性能 2、监控性能统计数据,如CPU利用率、内存利用率、磁盘利用率和应答时间 3、监控Windows系统中运行的进...
遵义市18617294173: linux怎么看进程占用的物理内存 - ?
陟贫莱美: 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令: (1)toptop命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占...
遵义市18617294173: 怎么获取linux top 参数 - ?
陟贫莱美: top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.
遵义市18617294173: Linux服务器整体性能监控攻略 Linux服务器如何监控整体性能 - ?
陟贫莱美: Linux服务器性能监测是很重要的工作,服务器运行应该提供最有效的系统性能.当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能、网络流量和CPU 的压力.在预算短缺的今天,理解如何优...