Linux服务器性能查看分析调优 |
您所在的位置:网站首页 › 服务器参数配置怎么查看 › Linux服务器性能查看分析调优 |
一 linux服务器性能查看
1.1 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.2 内存查看 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.3 硬盘查看 1、查看硬盘及分区信息: fdisk -l 2、查看文件系统的磁盘空间占用情况: df -h 3、查看硬盘的I/O性能(每隔一秒显示一次,显示5次): iostat -x 1 5iostat是含在套装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 1.4 查看平均负载有时候系统响应很慢,但又找不到原因,这时就要查看平均负载了,看它是否有大量的进程在排队等待。 最简单的命令: 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:闲置时间。 1.5 其他参数 查看内核版本号: uname -a 简化命令:uname -r 查看系统是32位还是64位的: file /sbin/init 查看发行版: cat /etc/issue 或lsb_release -a 查看系统已载入的相关模块: lsmod 查看pci设置: lspci 二 Linux服务器性能评估 2.1.1 影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2. 程序应用级 2.1.2 系统性能评估标准 影响性能因素 好 坏 糟糕 CPU user% + sys%< 70% user% + sys%= 85% user% + sys% >=90% 内存 Swap In(si)=0 Swap Out(so)=0 Per CPU with 10 page/s More Swap In & Swap Out 磁盘 iowait % < 20% iowait % =35% iowait % >= 50%其中: %user:表示CPU处在用户模式下的时间百分比。 %sys:表示CPU处在系统模式下的时间百分比。 %iowait:表示CPU等待输入输出完成时间的百分比。 swap in:即si,表示虚拟内存的页导入,即从SWAP DISK交换到RAM swap out:即so,表示虚拟内存的页导出,即从RAM交换到SWAP DISK 2.1.3 系统性能分析工具 1.常用系统命令Vmstat、sar、iostat、netstat、free、ps、top等 2.常用组合方式 vmstat、sar、iostat检测是否是CPU瓶颈 free、vmstat检测是否是内存瓶颈 iostat检测是否是磁盘I/O瓶颈 netstat检测是否是网络带宽瓶颈 2.1.4 Linux性能评估与优化系统整体性能评估(uptime命令) uptime 16:38:00 up 118 days, 3:01, 5 users,load average: 1.22, 1.02, 0.91 注意: load average三值大小一般不能大于系统CPU的个数。系统有8个CPU,如load average三值长期大于8,说明CPU很繁忙,负载很高,可能会影响系统性能。 但偶尔大于8,一般不会影响系统性能。 如load average输出值小于CPU个数,则表示CPU有空闲时间片,比如本例中的输出,CPU是非常空闲的 2.2.1 CPU性能评估 1.利用vmstat命令监控系统CPU显示系统各种资源之间相关性能简要信息,主要看CPU负载情况。 下面是vmstat命令在某个系统的输出结果: [root@node1 ~]#vmstat 2 3 procs ———–memory———- —swap– —–io—- –system– —–cpu—— r b swpd freebuff cache si so bi bo incs us sy idwa st 0 0 0 162240 8304 67032 0 0 13 21 1007 23 0 1 98 0 0 0 0 0 162240 8304 67032 0 0 1 0 1010 20 0 1 100 0 0 0 0 0 162240 8304 67032 0 0 1 1 1009 18 0 1 99 0 0 Procsr--运行和等待cpu时间片的进程数,这个值如果长期大于系统CPU的个数,说明CPU不足,需要增加CPU b--在等待资源的进程数,比如正在等待I/O、或者内存交换等。 CPU us用户进程消耗的CPU 时间百分比。 us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期大于50%,就需要考虑优化程序或算法。 sy内核进程消耗的CPU时间百分比。Sy的值较高时,说明内核消耗的CPU资源很多。 根据经验,us+sy的参考值为80%,如果us+sy大于 80%说明可能存在CPU资源不足。 2.利用sar命令监控系统CPUsar对系统每方面进行单独统计,但会增加系统开销,不过开销可以评估,对系统的统计结果不会有很大影响。 下面是sar命令对某个系统的CPU统计输出: [root@webserver ~]# sar -u 3 5 Linux 2.6.9-42.ELsmp (webserver) 11/28/2008_i686_ (8 CPU) 11:41:24 AM CPU %user %nice%system %iowait %steal %idle 11:41:27 AM all 0.88 0.00 0.29 0.00 0.00 98.83 11:41:30 AM all 0.13 0.00 0.17 0.21 0.00 99.50 11:41:33 AM all 0.04 0.00 0.04 0.00 0.00 99.92 11:41:36 AM all 90.08 0.00 0.13 0.16 0.00 9.63 11:41:39 AM all 0.38 0.00 0.17 0.04 0.00 99.41 Average: all 0.34 0.00 0.16 0.05 0.00 99.45输出解释如下: %user列显示了用户进程消耗的CPU 时间百分比。 %nice列显示了运行正常进程所消耗的CPU 时间百分比。 %system列显示了系统进程消耗的CPU时间百分比。 %iowait列显示了IO等待所占用的CPU时间百分比 %steal列显示了在内存相对紧张的环境下pagein强制对不同的页面进行的steal操作 。 %idle列显示了CPU处在空闲状态的时间百分比。 问题你是否遇到过系统CPU整体利用率不高,而应用缓慢的现象? 在一个多CPU的系统中,如果程序使用了单线程,会出现这么一个现象,CPU的整体使用率不高,但是系统应用却响应缓慢,这可能是由于程序使用单线程的原因,单线程只使用一个CPU,导致这个CPU占用率为100%,无法处理其它请求,而其它的CPU却闲置,这就导致了整体CPU使用率不高,而应用缓慢现象的发生。 2.3.1 内存性能评估 1.利用free指令监控内存free是监控Linux内存使用状况最常用的指令,看下面的一个输出: [root@webserver ~]# free -m total used freeshared buffers cached Mem: 8111 7185 926 0 243 6299 -/+ buffers/cache: 643 7468 Swap: 8189 0 8189经验公式: 应用程序可用内存/系统物理内存>70%,表示系统内存资源非常充足,不影响系统性能; 应用程序可用内存/系统物理内存 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |