基于linux服务器的性能分析与优化(六)

uptime命令

uptime是监控系统性能最常用的一个命令,主要用来统计系统当前的运行状况。输出的信息依次为:系统现在的时间、系统从上次开机到现在运行了多少时间,系统目前多少登录用户,系统在1分钟内、5分钟内、15分钟内的平均负载。

uptime
 13:05:56 up 353 days, 21:08,  7 users,  load average: 1.01, 0.85, 0.43
load average3个值的大小一般不能大于系统CPU的个数。
例如:本输出中系统有8个cpu,如果load average的3个值长期大约8时,说明CPU很繁忙,负载很高,可能会影响系统性能;如果偶尔大于8,一般不会影响系统性能。

netstat命令

netstat命令用于显示本机网络连接、运行端口、路由表等信息。

usage: netstat [-veenNcCF] [<Af>] -r         netstat {-V|--version|-h|--help}
       netstat [-vnNcaeol] [<Socket> ...]
       netstat { [-veenNac] -i[<Iface>] | [-cnNe] -M | -s } [delay]

        -r, --route                display routing table
        -i, --interfaces=[<Iface>] display interface table
        -g, --groups               display multicast group memberships
        -s, --statistics           display networking statistics (like SNMP)
        -M, --masquerade           display masqueraded connections

        -v, --verbose              be verbose
        -n, --numeric              don't resolve names
        --numeric-hosts            don't resolve host names
        --numeric-ports            don't resolve port names
        --numeric-users            don't resolve user names
        -N, --symbolic             resolve hardware names
        -e, --extend               display other/more information
        -p, --programs             display PID/Program name for sockets
        -c, --continuous           continuous listing

        -l, --listening            display listening server sockets
        -a, --all, --listening     display all sockets (default: connected)
        -o, --timers               display timers
        -F, --fib                  display Forwarding Information Base (default)
        -C, --cache                display routing cache instead of FIB

  <Iface>: Name of interface to monitor/list.
  <Socket>={-t|--tcp} {-u|--udp} {-w|--raw} {-x|--unix} --ax25 --ipx --netrom
  <AF>=Use '-A <af>' or '--<af>'; default: inet

-a 显示本机的所有连接和监听端口
-n 以网络IP地址的形式显示当前建立的有效连接和端口
-r 显示路由表信息
-s 显示按协议的统计信息,默认将显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP、UDPv6的统计信息
-v 显示当前的有效连接,与-n选项类似
-t 显示所有TCP协议连接情况
-u 显示所有UDP协议连接情况
-c<秒数> 后面的秒数表示每隔几秒就刷新一次
-i 显示自动配置接口的状态
-l 仅显示连接状态为LISTEN的服务的网络状态
-p 显示连接对应的PID和程序名

netstat -i命令组合可以显示网络接口的详细信息
 netstat -i
Kernel Interface table
Iface       MTU 	Met    	RX-OK 		RX-ERR RX-DRP RX-OVR    TX-OK 		TX-ERR TX-DRP TX-OVR 	Flg
eth0       1500   	0       16      	0      0      0        	0      		0      0      0 	BMRU
eth1       1500   	0 	30284491725     0      0      0 	37698810506     0      0      0 	BMRU
lo        16436   	0 	31192969      	0      0      0 	31192969      	0      0      0 	LRU
每项输出的解释如下:
Iface表示网络设备的接口名称
MTU表示最大传输单元,单位为字节
RX-OK/TX-OK表示已经准确无误的接收/发送了多少数据包
RX-ERR/TX-ERR表示接收/发送数据包时产生了多少错误
RX-DRP/TX-DRP表示接收/发送数据包时丢弃了多少数据包
RX-OVR/TX-OVR表示由于误差而遗失了多少数据包
Flg表示接口标记,其中
L表示该接口是个回环设备;
B表示设置了广播地址
M表示接收所有数据包
R表示接口还在活动
U表示接口处于活动状态
O表示在该接口上禁用arp
P表示一个点到点的连接

正常情况下RX-ERR/Tx-ERR、RX-DRp/TX-DRP、RX-OVR/TX-OVR的值都应该是0,如果这几个值不为0,并且很大,那么网络质量应该有问题,网络传输性能也一定会下降。

在网络不通或者网络异常时,首先检查系统的路由表信息,netstat -r的输出结果与route命令的输出完全相同
netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.32.25.0      *               255.255.255.0   U         0 0          0 eth1
169.254.0.0     *               255.255.0.0     U         0 0          0 eth1
192.168.0.0     10.32.25.1      255.255.0.0     UG        0 0          0 eth1
172.16.0.0      10.32.25.1      255.240.0.0     UG        0 0          0 eth1
10.0.0.0        10.32.25.1      255.0.0.0       UG        0 0          0 eth1

top命令

top提供了实时对系统处理器状态的监控,能够实时显示系统中各个进程的资源占用状况。可以按照CPU的使用、内存的使用、和执行时间对系统任务进程排序,同时可以通过交互式命令进行设定显示。类似于windows的任务管理器。

top选项很多,常用的有
-d 指定每两次屏幕信息刷新之间的时间间隔
-i 不显示闲置或者僵死的进程
-c 显示进程的整个命令路径,而不是只显示命令名称
-s 使top在安全模式下运行,此时top的交互式指令被取消,
-b分屏显示输出信息,结合-n选项可以将屏幕信息输出到文档
-n top输出信息更新次数,完成后将退出top命令

top除了以上选项还有很多交互式命令
h或者?显示帮助信息
k 终止一个进程,系统将提示用户输入一个需要终止进程的PID
i忽略闲置进程或者僵死进程,是一个开关命令
s 改变top输出信息两次刷新间隔,系统提示输入新的实践,单位是秒,如果是小数,就换成毫秒,如果输入0,系统输出将不断被刷新,默认为5秒,如果设置时间太小,可能会引起系统不断刷新,无法看清输出内容,而且系统负载也会加大
o或者O 改变top输出信息中显示项目的顺序,按小写的a-z键可以将相应的列向右移动,大写的A-Z可以将相应的列向左移动,最后按回车确定
f或者F 从当前显示列表中添加或删除项目,按f之后会显示列的列表,按a-z之间的任意键即可显示或隐藏对应的列,最后按回车确定
m切换显示内存信息
t切换显示进程和cpu状态信息
r 重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID以及需要设置的进程优先级设置。输入一个正值将使优先级降低,反之则使进程有用更高的优先级,默认是0
l 切换显示平均负载和启动时间信息
q 退出top显示
c 切换显示完整命令行和命令名称信息
M根据驻留内存大小进行排序输出
P根据CPU使用百分比大小进行排序输出
T根据时间/累积时间进行排序输出
S切换到累积模式
W将当前top设置写入~/.toprc文件中

下面来看一个例子
top - 19:59:47 up 27 days,  4:55,  6 users,  load average: 1.06, 1.04, 1.06
Tasks: 123 total,   2 running, 119 sleeping,   1 stopped,   1 zombie
Cpu(s):  0.1% us,  2.5% sy, 10.2% ni, 87.2% id,  0.0% wa,  0.0% hi,  0.0% si
Mem:  47811272k total, 28204544k used, 19606728k free,    41044k buffers
Swap:        0k total,        0k used,        0k free,  4276844k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                              
23699 user       35  10 70932  17m 4992 R 99.9  0.0   1842:59 sh                                                   
   63 root      15   0     0    0    0 S  0.0  0.0  54:00.46 kswapd0                                              
18661 root      16   0 98408 7344 3136 S  0.0  0.0  43:54.33 naming-agent                                                                                 
12944 root      16   0 18020 2844 2016 S  0.0  0.0   4:54.12 executor                                             
24971 root      16   0  241m 184m 3060 S  0.0  0.4   3:54.96 webfoot-agent                                        
 1298 root      16   0  5792  844  612 S  0.0  0.0   3:35.97 syslogd                                                                                         
   62 root      15   0     0    0    0 S  0.0  0.0   1:42.33 pdflush                                              
   61 root      15   0     0    0    0 S  0.0  0.0   1:37.29 pdflush         

top输出分为统计信息区和进程信息区
1)统计信息区
第一行为任务队列信息
19:59:47 表示当前系统时间
up 27days 4:55 表示系统已经启动了27天4小时55分
6users表示当前登录系统的用户数
load average表示系统平均负载,3个数值分布式1分钟,5分钟和15分钟前到现在的系统平均负载值

第二、三行为进程和CPU信息,
tasks表示进程的总数
2 running 表示正在运行的进程数
119sleeping 处于休眠的进程数
1 stopped 停止的进程数
1 zombie 僵死的进程数
Cpu(s); 0.1% us用户进程占用CPU百分比
2.5%sy 系统进程占用CPU百分比
10.2%ni 用户进程空间内改变过优先级的进程占用CPU
87.2%id 空闲CPU
0.0%wa 等待输入输出的进程占用CPU百分比

最后两行输出的是内存信息,
Mem  total系统的物理内存大小
used 已经使用的物理内存大小
free 目前空余的内存大小
buffers 用作内核缓冲区的内存大小
Swap total交换分区的内存大小
used 已经使用的交换分区大小
free空闲的交换分区大小
cached 高速缓存的大小

2)进程信息区
显示了每个进程的运行状态,
PID进程的id
USER进程所有者的用户名
PR进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT进程使用的虚拟内存总量,单位为KB,VIRT=SWAP+RES
RES 进程使用的未被交换出的物理内存大小,单位为KB. RES=CODE+DATA
SHR 共享内存大小,单位为KB
S进程状态,D表示不可中断的睡眠状态,R表示运行状态,S表示睡眠状态,T表示跟踪/停止,Z表示僵尸进程
%CPU 上次更新到现在的CPU时间占用百分比
%MEM进程占用的物理内存百分比
TIME+ 进程使用的CPU时间总计,单位为1/100秒
COMMAND 正在运行进程的命令名或命令路径



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值