CentOS命令行性能检测工具详解

news2024/9/20 21:41:35

一、uptime

Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average)。load average值分别记录了上个1分钟,5分钟和15分钟间隔的负载情况,load average不是一个百分比,而是在队列中等待执行的进程的数量。如果进程要求CPU时间被阻塞(意味着CPU没有时间处理它),load average值将增加。另一方面,如果每个进程都可以立刻得到访问CPU的时间,这个值将减少。

UP kernel下的load average的最佳值是1,这说明每个进程都可以立刻被CPU处理,当然,更低不会有问题,只说明浪费了一部分的资源。但在不同的系统间这个值也是不同的,例如一个单CPU的工作站,load average为1或者2都是可以接受的,而在一个多CPU的系统中这个值应除以物理CPU的个数,假设CPU个数为4,而load average为8或者10,那结果也是在2多点而已。

你可以使用uptime判断一个性能问题是出现在服务器上还是网络上。例如,如果一个网络应用运行性能不理想,运行uptime检查系统负载是否比较高,如果不是这个问题更可能出现在你的网络上。

二、top

Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息并且每5秒钟刷新一次。你可以通过多种方式分类它们,包括PID、时间和内存使用情况。

下面是输出值的介绍:

引用

PID:进程标识

USER;进程所有者的用户名

PRI:进程的优先级

NI:nice级别

SIZE:进程占用的内存数量(代码+数据+堆栈)

RSS;进程使用的物理内存数量

SHARE;该进程和其他进程共享内存的数量

STAT:进程的状态:S=休眠状态,R=运行状态,T=停止状态,D=中断休眠状态,Z=僵尸状态

%CPU:共享的CPU使用

%MEM;共享的物理内存

TIME:进程占用CPU的时间

COMMAND:启动任务的命令行(包括参数)

进程的优先级和nice级别

进程优先级是一个决定进程被CPU执行优先顺序的参数,内核会根据需要调整这个值。Nice值是一个对优先权的限制。进程优先级的值不能低于nice值。(nice值越低优先级越高)

进程优先级是无法去手动改变的,只有通过改变nice值去间接的调整进程优先级。如果一个进程运行的太慢了,你可以通过指定一个较低的nice值去为它分配更多的CPU资源。当然,这意味着其他的一些进程将被分配更少的CPU资源,运行更慢一些。Linux支持nice值的范围是19(低优先级)到-20(高优先级),默认的值是0。如果需要改变一个进程的nice值为负数(高优先级),必须使用su命令登陆到root用户。下面是一些调整nice值的命令示例,

以nice值-5开始程序xyz

#nice –n -5 xyz

改变已经运行的程序的nice值

#renice level pid

将pid为2500的进程的nice值改为10

#renice 10 2500

僵尸进程

当一个进程被结束,在它结束之前通常需要用一些时间去完成所有的任务(比如关闭打开的文件),在一个很短的时间里,这个进程的状态为僵尸状态。在进程完成所有关闭任务之后,会向父进程提交它关闭的信息。有些情况下,一个僵尸进程不能关闭它自己,这时这个进程状态就为z(zombie)。不能使用kill命令杀死僵尸进程,因为它已经标志为“dead”。如果你无法摆脱一个僵尸进程,你可以杀死它的父进程,这个僵尸进程也就消失了。然而,如果父进程是init进程,你不能杀死init进程,因为init是一个重要的系统进程,这种情况下你只能通过一次重新启动服务器来摆脱僵尸进程。也必须分析应用为什么会导致僵死?

三、iostat

iostat是sysstat包的一部分。Iostat显示自系统启动后的平均CPU时间(与uptime类似),它也可以显示磁盘子系统的使用情况,iostat可以用来监测CPU利用率和磁盘利用率。

CPU利用率分四个部分:

引用

%user:user level(应用)的CPU占用率情况

%nice:加入nice优先级的user level的CPU占用率情况

%sys:system level(内核)的CPU占用情况

%idle:空闲的CPU资源情况

磁盘占用率有下面几个部分:

引用

Device:块设备名

Tps:设备每秒进行传输的数量(每秒的I/O请求)。多个单独的I/O请求可以被组成一个传输操作,因为一个传输操作可以是不同的容量。

Blk_read/s, Blk_wrtn/s:该设备每秒读写的块的数量。块可能为不同的容量。

Blk_read, Blk_wrtn:自系统启动以来读写的块设备的总量。

块的大小

块可能为不同的容量。块的大小一般为1024、2048、4048byte。可通过tune2fs或dumpe2fs获得:

引用

[root@rfgz ~]# tune2fs -l /dev/hda1|grep 'Block size'

Block size:               4096

[root@rfgz ~]# dumpe2fs -h /dev/hda1|grep 'Block size'

dumpe2fs 1.35 (28-Feb-2004)

Block size:               4096

四、Vmstat

Vmstat命令提供了对进程、内存、页面I/O块和CPU等信息的监控,vmstat可以显示检测结果的平均值或者取样值,取样模式可以提供一个取样时间段内不同频率的监测结果。

注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比较低的值可以尽可能的减小误差的影响。

下面介绍一下各列的含义

引用

·process(procs)

r:等待运行时间的进程数量

b:处在不可中断睡眠状态的进程

w:被交换出去但是仍然可以运行的进程,这个值是计算出来的

·memoryswpd:虚拟内存的数量

free:空闲内存的数量

buff:用做缓冲区的内存数量

·swap

si:从硬盘交换来的数量

so:交换到硬盘去的数量

·IO

bi:向一个块设备输出的块数量

bo:从一个块设备接受的块数量

·system

in:每秒发生的中断数量, 包括时钟

cs:每秒发生的context switches的数量

·cpu(整个cpu运行时间的百分比)

us:非内核代码运行的时间(用户时间,包括nice时间)

sy:内核代码运行的时间(系统时间)

id:空闲时间,在Linux 2.5.41之前的内核版本中,这个值包括I/O等待时间;

wa:等待I/O操作的时间,在Linux 2.5.41之前的内核版本中这个值为0

Vmstat命令提供了大量的附加参数,下面列举几个十分有用的参数:

引用

·m:显示内核的内存利用率

·a:显示内存页面信息,包括活跃和不活跃的内存页面

·n:显示报头行,这个参数在使用取样模式并将命令结果输出到一个文件时非常有用。例如root#vmstat –n 2 10以2秒的频率显示10输出结果

·当使用-p {分区}时,vmstat提供对I/O结果的统计

五、ps和pstree

ps和pstree命令是系统分析最常用的基本命令,ps命令提供了一个正在运行的进程的列表,列出进程的数量取决于命令所附加的参数。例如ps –A 命令列出所有进程和它们相应的进程ID(PID),进程的PID是使用其他一些工具之前所必须了解的,例如pmap或者renice。

在运行java应用的系统上,ps –A 命令的输出很容易就会超过屏幕的显示范围,这样就很难得到所有进程的完整信息。这时,使用pstree命令可以以树状结构来显示所有的进程信息并且可以整合子进程的信息。Pstree命令对分析进程的来源十分有用。

六、Numastat

随着NUMA架构的不断发展,例如eServer xSeries 445及其后续产品eServer xSeries 460,现在NUMA架构已经成为了企业级数据中心的主流。然而,NUMA架构在性能调优方面面临了新的挑战,例如内存分配的问题在NUMA系统之前并没人感兴趣,而Numastat命令提供了一个监测NUMA架构的工具。Numastat命令提供了本地内存与远程内存使用情况的对比和各个节点的内存使用情况。Numa_miss列显示分配失败的本地内存,numa_foreign列显示分配远程内存(访问速度慢)信息,过多的调用远程内存将增加系统的延迟从而影响整个系统的性能。使运行在一个节点上的进程都访问本地内存将极大的改善系统的性能。

※我使用的系统不支持NUMA架构,此图为原文档截图。

七、sar

sar程序也是sysstat安装包的一部分。sar命令用于收集、报告和保存系统的信息。Sar命令由三个应用组成:sar,用与显示数据;sa1和sa2,用于收集和存储数据。默认情况下,系统会在crontab中加入自动收集和分析的操作:

引用

[root@rfgz ~]# cat /etc/cron.d/sysstat

# run system activity accounting tool every 10 minutes

*/10 * * * * root /usr/lib/sa/sa1 1 1

# generate a daily summary of process accounting at 23:53

53 23 * * * root /usr/lib/sa/sa2 -A

sar命令所生成的数据保存在/var/log/sa/目录下,数据按照时间保存,可以根据时间来查询相应的性能数据。

你也可以使用sar在命令行下得到一个实时的执行结果,收集的数据可以包括CPU利用率、内存页面、网络I/O等等。下面的命令表示用sar执行5次,间隔时间为3秒:

八、free

free命令显示系统的所有内存的使用情况,包括空闲内存、被使用的内存和交换内存空间。Free命令显示也包括一些内核使用的缓存和缓冲区的信息。

当使用free命令的时候,需要记住linux的内存结构和虚拟内存的管理方法,比如空闲内存数量的限制,还有swap空间的使用并不标志一个内存瓶颈的出现。

Free命令有用的参数:

引用

·-b,-k,-m和-g分别按照bytes, kilobytes, megabytes, gigabytes显示结果。

·-l区别显示low和high内存

·-c {count}显示free输出的次数

九、Pmap

pmap命令显示一个或者多个进程使用内存的数量,你可以用这个工具来确定服务器上哪个进程占用了过多的内存从而导致内存瓶颈。

十、Strace

strace截取和记录进程的系统调用信息,还包括进程接受的命令信号。这是一个有用的诊断和调试工具,系统管理员可以通过strace来解决程序上的问题。

命令格式,需要指定需要监测的进程ID。这个多为开发人员使用。

strace -p <pid>

十一、ulimit

可以通过ulimit来控制系统资源的使用。请看以前的日志:使用ulimit和proc去调整系统参数

十二、Mpstat

mpstat命令也是sysstat包的一部分。Mpstat命令用于监测一个多CPU系统中每个可用CPU的情况。Mpstat命令可以显示每个CPU或者所有CPU的运行情况,同时也可以像vmstat命令那样使用参数进行一定频率的采样结果的监测。

十三、附录

本文截取和修改自IBM的红皮书Tuning Red Hat Enterprise Linux on IBM eServer xSeries Servers。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://bk.xjx100.cn/news/65410.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

win8.1系统Chrome浏览器出现"没有注册类"的解决方法

windows8.1系统自带IE浏览器,不少用户习惯使用Chrome浏览器,但是使用过程中难免遇到一些问题。近日有Win8.1 64位系统用户反馈在使用Chrome浏览器的时候出现&ldquo;没有注册类&rdquo;的问题,提示一大串英文,那么如何解决呢?下面小编就给大家介绍win8.1系统使用Chr…

360极速浏览器占用内存高怎么办 360极速浏览器占用内存大解决方法

内存过高原因分析:在360浏览器3.x的多进程的框架下,内存占用比单进程高,但是优点是能在网页关闭之后完全释放网页占用的资源。在360浏览器3.x的混合进程的框架下,内存占用比单进程较高,但是优点是能在网页关闭之后较好释放网页占用的资源。这两种模式长时间使用时,内存占…

手机支付宝字体大小该怎么设置?

随着年龄的增大,在支付宝使用时逐渐的看不太清默认的字体与数字。如果支付的时候还是看不太清数字,那会导致支付上的金额出入。所以,有必要对支付宝上的字体进行大一号设置。下面小编就将设置过程向大家介绍如下。1、点击打开手机屏幕的支付宝钱包,找到菜单下端的&ldqu…

苹果IOS9.3.3越狱PP助手电脑版无法管理手机及系统文件现象的解决办法

ios9.3.3越狱工具已由盘古团队以及pp助手联合发布了,很多需要越狱的果粉都已通过工具成功入狱,那么ios9.3.3越狱PP助手电脑版无法管理手机怎么办?ios9.3.3越狱PP助手电脑版无法管理系统文件怎么办?一起来看看吧!ios9.3.3越狱后连接PP助手电脑版无法管理手机系统文件解决办…

苹果手机怎样找回微信聊天记录?怎样恢复微信删除的聊天

微信聊天记录删除了怎么恢复在很多人心里觉得是一个很高深的问题,还有很多朋友认为微信聊天记录删除了是不可能再恢复回来的。其实微信聊天记录删除并不是我们想的这样真正删除了。微信聊天记录删除只是微信本身做了标记性的删除,在微信的数据库里是还存留着数据的。所以只需…

支付宝蚂蚁森林不产生能量该怎么办?

在使用支付宝蚂蚁森林时,别人的有能量,自己却没有能量,怎么回事呢?本经验就来简单的介绍下: 1、如图所示,小树总是不能生成能量。2、点击右上角&ldquo;&hellip;&rdquo;选择攻略。3、如图所示,有以下几种可以产生能量的行为,点击第一个行走。除了第一个行走…

和老婆的微信怎么同步 如何绑定老婆的微信号

有很多男性用户想要绑定同步老婆或女朋友的微信号,那么应该怎么操作呢?下面通过这篇文章给大家介绍一下关联方法,这样聊天记录也能同步了。 首先点击登录自己的微信客户端。点击右下角的我,进入。选择设置,再次进入新页面。选择隐私,点击进入新页面。这个时候,会看到通过…

VirtualBox下安装Ubuntu17.1的图文教程

本文介绍了VirtualBox下安装Ubuntu17.1的(图文教程),分享给大家,也给自己留个笔记 下载并安装 VirtualBox: 点击下载VirtualBox 点击下载VirtualBox扩展包下载的软件包点击下一步,即可安装完成 下载并安装 Ubuntu17.10 : 点击下载 Ubuntu17.10 ISO镜像下载的ISO镜像安装…

本周Win10一周年更新新版无推送 崩溃性bug内部测试

Win10一周年更新预览版系统新版推送,但根据刚刚小编从Gabriel Aul获得的消息,本周不会有Win10 PC、Win10 Mobile红石预览版推送,原因是遭遇棘手的崩溃性Bug。Windows Insider项目负责人Gabriel Aul在Twitter上表示非常抱歉,本周预计不会推送新的Win10快速通道版本,包括PC和…

顺丰速运微信公众号怎么申请发票

经常有使用顺丰速运来发快递的小伙伴有没有在为每次地索要发票而发愁呢?现在在顺丰微信公众号中便可以对近3个月的快递运单进行发票申请。一起试一下吧操作方法01打开手机中已下载的微信应用,并登录账号02在公众号中找到已关注的“顺丰速运”微信公众号,并点击进入。03进入顺…

微信公众号怎样申请微信支付?

微信公众号申请成功以后,可以继续申请认证和微信支付。小编就与大家交流一下微信公众号申请微信支付过程,方便大家的微信公众号开展申请微信支付。1、登陆微信公众平台页面,在如下页面中,找到微信支付申请按钮,点击打开进入下一步操作,如下图示。2、进入如下页面后,开始…

微信公众号如何申请原创保护功能

微信公众号如何申请原创保护功能 以前就听说可以申请原创保护功能,不过得发邮件申请,当朝也不知道怎么弄,就没弄。其实,我的这个公众号有没有原创保护,或其他的功能都无所谓,因为我已经习惯了。昨天我的公众号有一条信息,公众平台邀请我申请原创功能看到消息提醒后便点击…

微信公众号如何申请开通微信支付功能?

微信的功能现在是越来越强大了,很多的企业、商家也看到了微信的商机,他们就都纷纷的来开通微信公众号来进行微信广告宣传,同时也开通了微信在线的支付功能,今天小编就教下大家:微信公众号如何申请开通微信支付功能?操作方法01我们先打开我们的电脑,接着我们来到微信公众…

微信公众号如何申请开通微信公众号支付?

企业开通微信公众号支付的作用主要有三点,分别为:1、可以在公众号进行产品的推广销售、支付收款以及经营分析;2、通过自定义菜单、关键字回复等方式向订阅用户推送商品消息,并且用户可以在微信公众号中完成选购支付的流程;3、企业可以把商品网页生成二维码,张贴在线下的场…

微信后台怎么购买并开通电子发票?

微信这两天新出了个功能插件,支持微信运营者在后台购买电子发票套餐。该功能是微信提供给商户或第三方的一套电子发票技术解决方案,商户和第三方选择开票服务方提供的电子发票套餐,并根据套餐权限在微信公众号中申请、开具、接收、管理电子发票。那么怎么申请电子发票呢?操…

在京东中如何开启刷脸登录功能?

相信很多小伙伴都有在使用京东,那么其中的刷脸登录功能如何开启呢?方法很简单,下面小编就来为大家介绍。具体如下:1. 首先,打开手机上的京东。2. 进入软件首页后,点击右下角的“我的”。3. 进入个人页面后,点击右上角的设置图标。4. 进入账户设置页面后,找到并点击“账…

如何在微信运动中捐赠步数做公益

微信运动很多朋友在玩,不仅可以排名PK我们的运动量,里面的步数也是可以用来捐赠做公益活动的,下面就给大家介绍如何在微信运动中捐赠步数做公益。具体如下:1. 第一步,我们先点击手机里的微信打开;2. 进入聊天界面后,我们在聊天列表中找到并点击微信运动进去;3. 进入微信…

如何把快手中黄钻兑换成快币?

快手中的黄钻可以用来兑换成快币,下面一起来看看怎么兑换的吧。具体如下:1. 第一步,我们先打开手机里的快速APP;2. 进入快手后,我们点击发现界面左上角的 三条横线 按钮,并在出现的选项中点击 设置 进去。3. 打开设置界面后,我们点击这个页面的“我的钱包”选项;5. 进入…

LINUX系统怎么使用chmod数字表示?

LINUX的chmod数字表示该怎么使用呢?下面我们就来看看详细的教程。 1、打开LINUX UBUNTU操作系统,打开左边的终端窗口。2、sudo chmod -R 777可以使文件的权限都改为可读可写可执行。3、770表示其它用户没有任何权限。4、771表示其它用户只有可执行权限。5、772表示其它用户只…

抖音变声功能怎么使用

抖音是我们经常使用的视频软件,我们在刷抖音的过程中经常会遇到使用变声功能的视频,如果我们也想要使用变声功能,接下来小编就告诉大家怎么做具体如下:1. 如果我们使用音频剪辑软件,不仅麻烦,制作成本还很高,所以我们可以使用抖音自带的变声功能,首先我们在手机界面找到…