天天看点

linux服务器性能查看

linux服务器性能查看

################### cpu性能查看 ############################################################

1、查看物理cpu个数:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每个物理cpu中的core个数:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、逻辑cpu的个数:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下)

########################### 内存查看 ################################################################

1、查看内存使用情况:

free -m

            total       used       free     shared    buffers     cached

mem:          3949       2519       1430          0        189       1619

-/+ buffers/cache:        710       3239

swap:         3576          0       3576

total:内存总数

used:已经使用的内存数

free:空闲内存数

shared:多个进程共享的内存总额

- buffers/cache:(已用)的内存数,即used-buffers-cached

+ buffers/cache:(可用)的内存数,即free+buffers+cached

buffer cache用于针对磁盘块的读写;page cache用于针对文件inode的读写,这些cache能有效地缩短i/o系统调用的时间。

对于操作系统来说free/used是系统可用/占用的内存;而对于应用程序来说-/+ buffers/cache是可用/占用内存,因为buffers/cache很快就会被使用。我们工作时候应该从应用角度来看。

################# 硬盘查看 ##########################################################################

1、查看硬盘及分区信息:

fdisk -l

2、查看文件系统的磁盘空间占用情况:

df -h

3、查看硬盘的i/o性能(每隔一秒显示一次,显示5次):

iostat -x 1 5

iostat是含在套装systat中的,可以用yum -y install systat来安装。

常关注的参数:

如果%util接近100%,说明产生的i/o请求太多,i/o系统已经满负荷,该磁盘可能存在瓶颈。

如果idle小于70%,i/o的压力就比较大了,说明读取进程中有较多的wait。

4、查看linux系统中某目录的大小:

du -sh /root

如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录:

du -cksh *|sort -rn|head -n 10

############################################ 查看平均负载 ####################################

有时候系统响应很慢,但又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待。

最简单的命令:

uptime

查看过去的1分钟、5分钟和15分钟内进程队列中的平均进程数量。

还有动态命令:

top

我们只关心以下部分:

top - 21:33:09 up  1:00,  1 user,  load average: 0.00, 0.01, 0.05

如果每个逻辑cpu当前的活动进程不大于3,则系统性能良好;

如果每个逻辑cpu当前的活动进程不大于4,表示可以接受;

如果每个逻辑cpu当前的活动进程大于5,则系统性能问题严重。

一般计算方法:负载值/逻辑cpu个数

还可以结合vmstat命令来判断系统是否繁忙,其中:

procs

r:等待运行的进程数。

b:处在非中断睡眠状态的进程数。

w:被交换出去的可运行的进程数。

memeory

swpd:虚拟内存使用情况,单位为kb。

free:空闲的内存,单位为kb。

buff:被用来作为缓存的内存数,单位为kb。

swap

si:从磁盘交换到内存的交换页数量,单位为kb。

so:从内存交换到磁盘的交换页数量,单位为kb。

io

bi:发送到块设备的块数,单位为kb。

bo:从块设备接受的块数,单位为kb。

system

in:每秒的中断数,包括时钟中断。

cs:每秒的环境切换次数。

cpu

按cpu的总使用百分比来显示。

us:cpu使用时间。

sy:cpu系统使用时间。

id:闲置时间。

标准情况下r和b的值应该为:

r<5,b=0

假设输出的信息中:

如果r经常大于3或4,且id经常少于50,表示cpu的负荷过重。

pi、po长期不等于0,表示内存不足。

bi经常不等于0,且在b中的队列大于2或3,表示io的性能不好。

################################# 其他参数 #####################################

查看内核版本号:

uname -a

简化命令:

uname -r

查看系统是32位还是64位的:

file /sbin/init

查看发行版:

cat /etc/issue

或lsb_release -a

查看系统已载入的相关模块:

lsmod

查看pci设置:

lspci

继续阅读