Linux之系统信息和性能监测

21 篇文章 0 订阅
11 篇文章 0 订阅

一、前言

安装完一套linux操作系统我们首先得知道系统都有哪些信息,比如安装内存多少、磁盘多大、什么版本、多少核CPU等等,因此熟悉常用的查看系统信息的指令还是很有必要的。

此文档主要对已安装的linux系统的属性有个初步的认识,介绍系统自带的常用性能监测指令和一款安装在linux系统下的开源性能测试工具:nmon,用于观测linux系统内核以及应用软件在linux系统下安装部署后运行的性能,为linux服务器系统运维人员排查问题和优化性能瓶颈提供帮助。

二、查看系统信息指令

1.查看CPU信息:【cat  /proc/cpuinfo】可以查看每个cpu的信息

2.查看内存信息:【cat  /proc/meminfo】查看整个系统的内存使用情况

3.查看磁盘分布:【fdisk –l |grep Disk】

Linux文件系统也是磁盘分区的哦,如果你去安装linux时就需要搞清楚哪些分区的最小安装空间是多少啦!上图我们可以看到系统磁盘总空间为500.1G,其中根目录root占用53.7G,交换区swap:3858MB,home目录:104.9G

4.查看linux的系统信息:【uname –a】,选项a表示所有“all”

该命令说明了linux的内核(kernel)版本,如上图的红色框,以及linux是x86_64的64位操作系统,此内容很重要,这个系统属性决定了以后需要安装对应的64位的应用程序包

5.查看操作系统版本:【cat  /etc/issue】

上图可以看到我们安装的为:linux发行的红帽专业版6.5

6.查看系统的运行时间和当前时间:【uptime】&【date】

Uptime显示系统运行时间以及系统当前的平均负载(load average)情况,date显示当前系统时间

三、系统自带的性能监测指令

Linux服务器性能监测总体包括:cpu监测、内存监测、进程监测、网络监测以及I/O监测

1.top指令:top命令为查看系统整体运行进程相关、CPU相关、内存相关和具体每个进程的相关性能数据

其中第1行:系统运行时间

第2行:运行进程数量

第3行:CPU相关,如图可以看到系统是8核的CPU(按数字键1展开或隐藏)

第4行:内存相关

第5行:交换区相关

最后6:具体的进程信息

如果只想看到某一个进程,可以通过top  -p 进程号(-p表示PID)来展示出来,如上图SMT的PID为21449,因此可在命令行输入:top  -p 21449

结束top按组合键ctrl+c即可。

2.mpstat命令:查看具体每个CPU的使用情况

   mpstat用法如下图

其中【mpstat –P ALL 5 2】表示每5秒显示系统所有8个cpu的使用情况,一共刷新2次。

3.vmstat命令:查看虚拟内存(Virtual Memory)使用状况的工具

  虚拟内存:在系统中运行的每个进程都需要使用到内存,但不是每个进程都需要每时每刻使用系统分配的内存空间。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分内存提供给有需要的进程使用。

Vmstat常用的格式:【vmstat 刷新间隔时间 刷新次数】,如下图【vmstat 2 10】表示每隔2s刷新一次,刷新10次停止

介绍下部分列表字段的含义:

Procs(进程):

r : 运行和等待cpu时间的进程数,如果长期大于1说明cpu不足

b: 在等待的资源进程数

memory(内存):

swpd: 切换到交换区的内存

free :可用内存大小

buff:缓存大小

swap(交换区):

si和so:内存进出交换区的数量

cpu(百分比):

us:用户进程执行时间

sy:系统进程执行时间

id:空闲时间

4.free命令:查看系统内存使用情况,展示总内存、已使用、缓存内存等

通过【free --help】帮助文档,我们可以通过【b、k、m、g】等选项来显示内存

5.iostat命令:查看i/o输入输出情况,更多时候我们关注磁盘的I/O,使用【iostat –d –k 刷新时间间隔 刷新次数】,如下图表示每隔1s刷新一次,一共刷新2次,我们可以看到每个磁盘当前的I/O读写总量等信息。

6.netstat命令:显示网络及其网络端口信息

常用命令:【netstat –a |more】:显示所有端口,包括监听和未监听的

【netstat -la】显示所有监听端口,【netstat -at】只显示tcp端口,【netstat -au】只显示udp端口。

其他相关的性能监测指令:

ps、pstree :显示所有进程和进程树

tcpdump:网络抓包分析器

lsof:列出所有打开的文件、进程等

四、开源性能监测工具:nmon以及nmon analyser

Linux系统除了上面介绍的性能监测指令和工具外,还可以安装开源的能适用于linux系统的性能监测工具,这些工具凝聚了诸多的指令,不仅仅能实时调用查看,还能采集一段时间内的性能数据,生成性能数据文件,拷贝出来后直接转换成excel表格显示,功能强大易用。nmon这款开源的工具就具有以上的属性和功能。

1.nmon资源下载:

nmon的linux版本安装包可以再IBM官方网站上免费下载,下载路径:

Legacy Communities - IBM TechXchange Community

注意:官网上有很多版本,如果你的linux是64位的就下载64位的程序包,并选择对应的适用于自己的linux发型版本

nmon和nmon analyser的版本需要对应,否则采集的数据在nmon analyser中打不开,本人亲自验证过(^.^)

这里我的linux是redhat 6.5 ,64位的系统,我下载的工具包为:

 

nmon和nmon analyser的版本是对应的。

2.安装nmon和nmon analyser

将我们下载的【nmon_linux_14g.tar】这个tar包通过运行在windows的SSH客户端文件传输工具(这里我使用的是:secureFX),直接拷贝到我们指定的linux目录下,这里我拷贝到我的系统【/usr/local/bin】路径下

然后通过secureCRT来远程登录我们的linux服务器,cd进入到我们拷贝的nmon安装包路径下,可以看到工具包是一个扩展名为.tar.gz的压缩文件,因此我们需要解压这个文件,解压tar包我们用tar命令,具体命令为:【tar –xzvf nmon_linux_14g.tar.gz】,解压出来后,如下图,我们找到需要的文件,这里我选择【nmon_linux_x86_64】这个适合系统的64位文件

这样就已经安装完毕nmon

nmon analyser并不需要安装在linux下,它是用来查看nmon采集的性能数据的,直接在windows下解压nmon analyser即可,它就是一个excel文件,只是它可以打开扩展名为.nmon的文件。

3.nmon使用

nmon使用很简单,只需要在命令行键入【./ nmon_linux_x86_64】来执行这个文档即可,不过在执行前我们需要确保该文档有可执行的权限,一般安装完后该文件是没有【x】即我们之前介绍的linux文件权限说到的,因此这里我们使用【chmod 777 nmon_linux_x86_64】来给它最高的权限。再执行【./nmon_linux_x86_64】,出现如下图的nmon界面

在nmon界面已经介绍了它的用法,以及用法帮助,如我们输入【c】即可获取系统cpu信息,【m】可以获取内存信息等等,以及在命令行输入【nmon -h】可以了解nmon的所有用法,按【q】退出nmon界面,效果如下:

在nmon里我们几乎可以显示系统的所有的性能指标,不仅仅如此,我们还可以通过键入命令来采集一段时间的性能数据,具体指令为:【nmon –s 10 –c 12 –f –m /tongdepu】,选项说明:-s 表示数据采集时间间隔,这里我们是10s采集一次,-c 表示数据采集次数,这里我们采集12次,即我们共采集10*12s=120s的数据,-f 表示生成的数据文件按标准的时间格式命名,-m 表示选择文件保存路径,这里我们保存在根目录下的【tongdepu】这个文件下,通过【ls –al】展开查看生成的扩展名为.nmon的文件,效果如下图:

这样我们的数据文件采集好了,然后打开secureFX文件传输工具,进入到【/tongdepu】这个目录下找到刚才采集生成的文件,直接拷贝出来,然后打开nmon anlyser工具包解压出来的excel文件

 

打开这样子的;

在选择.nmon文件前我们还需要设置excel表格的【宏】功能,只有开启宏功能才能读取打开该.nmon文件,具体设置如下:点击【开始】菜单-【Eccel选项】的信任中心里找到【宏设置】,然后启用所有宏即可,如下图

然后点击表格中的【Analyse nmon data】按钮,选择刚才采集生成的.nmon文件,会生成各项性能数据报表和统计图

在nmon anlyser工具包还有相关的用户使用说明:

这样性能数据监测采集到图形化输出完成,后续根据各个性能指标分析即可。


感谢您的阅读,若有不足之处,欢迎指教,共同学习、共同进步。 如您喜欢,麻烦推荐一下;如您有新想法,欢迎提出。

写在最后

这篇贴子到这里就结束了,最后,希望看这篇帖子的朋友能够有所收获。

都到这了记得三连支持一下吧。

完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统的宏观性能测试设计是为了评估整个系统性能表现,并确定可能存在的性能瓶颈或改进的空间。在设计宏观性能测试时,以下是一些步骤和考虑因素: 1. 确定测试目标:确定测试的具体目标,例如系统的响应时间、吞吐量或负载容量等。 2. 选择测试工具:选择适合的测试工具,例如ApacheBench、Jmeter等。这些工具通常可以模拟用户请求,并收集系统性能指标。 3. 定义测试用例:根据测试目标,定义一系列测试用例,包括不同负载情况、并发用户数、请求类型等。考虑到实际使用场景和用户行为,测试用例应该尽可能真实。 4. 部署测试环境:在一个隔离的环境中部署测试系统,确保测试环境与真实生产环境尽可能相似。这包括硬件配置、网络设置、操作系统版本等。此外,可以使用容器技术来创建多个相似的测试环境以进行扩展性测试。 5. 收集性能指标:运行测试用例时,同步收集系统性能指标,如CPU使用率、内存使用率、磁盘I/O、网络吞吐量等。这些指标可以从/sys、/proc或性能监控工具(如sar、top等)获取。 6. 分析和评估:将收集到的性能指标与预期目标进行比较,并进行必要的分析。通过识别潜在的性能瓶颈和瓶颈原因,确定系统性能的优化方向。 7. 提出改进建议:根据分析结果,提出具体的优化建议。这可能涉及到调整系统配置、优化代码或架构、增加硬件资源等。 8. 重复测试和迭代:根据优化建议进行系统调整后,重新运行测试用例,并比较测试结果。如果性能有所改进,则可以继续迭代和优化。 总之,Linux系统的宏观性能测试设计需要明确测试目标、选择适当的测试工具、定义测试用例、准备测试环境、收集性能指标、分析和评估结果,并提出改进建议。通过重复测试和迭代的过程,可以逐渐提升系统性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值