Linux之系统信息和性能监测

news2025/1/10 22:53:12

一、前言

安装完一套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工具包还有相关的用户使用说明:

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


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

写在最后

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

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

完整版文档下载方式:

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

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

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

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

相关文章

一起从根上学习Swoole

一起从根上学习Swoole Swoole,这个名字已经不再是一个简单的扩展库,而是一种让PHP开发者们心驰神往的技术。它是一个基于事件驱动的异步网络通信框架,能够让PHP应用程序在高并发环境下实现卓越的性能表现。现在,你也可以像一名高…

ROS:DWA算法解析、move_base导航包DWA源码解析

一.整体思路 1.基于速度控制运动模型 假设没有噪声,控制时间间隔为内机器人速度v和角速度w保持不变,则机器人围绕半径为r的圆周运动。 其中,。 根据v 和w即可预测出下一次机器人位姿(x、y、),根据此也可以…

毕业4年,克服三次瓶颈,最终成功从字节跳动成功跳到阿里!经验分享

介绍下自己的测试历程吧,普通本科,毕业4年, 去年成功转型测试开发,总结一下测试心得。 平凡的大学生活 我大学期间属于并没有什么出众的,按部就班,老实办事的那种学生,我导师对我们那届的学生…

iOS 17(SwiftUI 5.0)带来的图表(Charts)新类型:“大饼”与“甜甜圈”

概览 WWDC 2023 为我们带来了 iOS 17,也为我们带来了 SwiftUI 5.0。 在 SwiftUI 新版中,Apple 增加了很多重磅功能,也对原有功能做了大幅度升级。 对于 Charts 框架, 新增了饼图(Pie)类型并且加入了图…

容器镜像差异分析工具 container-diff

概述 container-diff 是google出的一个容器差异比较工具,通过这个工具可以比较两个镜像之间存在的文件差异、RPM包差异、apt包差异、pip包差异和node包差异。 container-diff 也包括了对单个镜像分析能力,像文件分析啊、apt包、rpm包分析等功能。 在日常…

Python爬虫——怎么搭建和维护一个本地IP池

目录 背景 一、什么是本地代理IP池 二、代理IP池功能架构图 三、各个组件功能说明及示例代码 1. IP池管理器 2. 代理IP获取器 3. IP质量检测器 4、数据存储器 5、API接口层 6、应用程序 总结 背景 在我们进行爬虫工作时,经常需要使用代理IP。大多数代理…

unity2d粒子特效

文章目录 前言先看效果一、2d平台雨1. 配置2. 图片素材3. 最终效果 二、脚步灰尘效果1. 配置2. 代码调用3. 效果 三、受伤血液四溅效果1. 配置2. 效果 待续四、工程源码五、参考六、完毕 前言 我只是我抽空写了一些简单的2d粒子特效,后面如果接触新的不错的2d特效&a…

Maven 安装

一. 下载 apache官网下载 Maven:Maven – Download Apache Maven ,根据需要下载不同压缩包。 将压缩包进行解压,最好放在无中文目录下解压。 二. 安装 三. 配置 1. 配置maven本地仓库 打开解压后的文件夹,找到conf文件夹&#…

银行vr元宇宙全景虚拟展馆提供更加真实、立体、高效的数字资产交易场景

为了贯彻国家普惠金融政策,使金融如无惠及广大群体,宇宙技术在金融行业中的应用将进一步提升金融消费体验感觉和金融管理水平。打造元宇宙金融服务平台,构建虚实结构的金融服务世界,培育和管理好数字机器人员工队伍,提升金融业务各…

postman登录鉴权之接口测试

一.背景 在做接口测试的时候,有些接口向后台请求数据的时候,是需要用户在登录情况下才有数据返回。 以电商平台为例,用户的个人中心,用户的订单列表,用户的支付信息等等,所有用户维度的数据都是需要登录态…

Django - 页面静态化和crontab定时任务(二)

一. 前言 一个网页会有很多数据是不需要经常变动的,比如说首页,变动频率低而访问量大,我们可以把它静态化,这样就不需要每次有请求都要查询数据库再返回,可以减少服务器压力 我们可以使用Django的模板渲染功能完成页面…

app反编译查看是否被混淆或者混淆是否成功

同时打 debug包和release包,生成的目录在build->output文件夹下面 一般直接运行的apk 包是在build/intermediates/apk/debug 目录下 方法1:Android studio 安装插件jadx build成apk 后 直接选中 右键 在Jadx GUI中反编译 就可以查看代码 方法2&…

距离保护的影响因素

1、汲出电流和助增电流的影响 当保护安装处与故障点之间有分支电源时,如图所示,分支电源将向故障点K送短路电流ICB,使流过故障线路的电流IBKIAB ICB,大于实际流过保护1的电流IAB,所以ICB称作助增电流。 由于助增电流的…

第一章操作系统引论

目录 一、熟悉的操作系统 二、计算机系统的层次结构 三、操作系统的概念 四、操作系统的功能 4.1 系统资源的管理者 4.2 向上层提供方便易用的服务 4.2.1 GUI:图形化用户接口(Graphical UserInterface) 4.2.2 命令接口 4.2.3 程序接…

当杠精型AI丈夫遇上阴阳怪气AI老婆,你的代码玩得转吗?

玩趣味活动 赢千元奖金 DataFountain社区首个趣味活动来啦!!! 活动已发车,来不及解释了,先上车:https://www.datafountain.cn/information/activity/3 人工智能问答爆火,你的算法技能储备跟上…

达梦数据库ODBC配置及达梦与mysql创建DBLINK测试

目录 官网ODBC配置... 3 1、ODBC下载官网... 3 2、上传安装包并解压... 3 3、安装odbc. 3 4、安装依赖... 4 5、再次执行安装即可... 4 6、查看版本及配置文件... 4 Mysql-ODBC配置... 5 一、达梦服务器... 5 1、下载odbc包... 5 2、安装... 6 3、报错... 6 4、先…

STM32——01-开发软件Keil5及STM32CubeMX的安装

1.1开发环境的安装 编程语言:C语言 需要安装的软件有两个:Keil5和STM32CubeMX 安装 安装包(不需要太新,以 MDK324 为例,最新的 MDK327 有问题) 安装过程一路下一步即可(建议不要安装在 C …

Gitlab集成jira

实现功能 gitlab提交和合并分支,会自动将comment信息提交到JIRA上的相关问题的页面gitlab可以修改jira上问题的状态 集成说明 gitlab集成Jira 按项目集成,因此gitlab上的每个项目对应jira上的对应项目由项目管理员(一般为接口人&#xff…

如何用Python开发QQ机器人

前言 虽然该文最终是达到以python开发mirai机器人的目的,但起步教程,尤其是环境配置上仍然有大量的相同操作,对其他编程语言仍有借鉴之处 假设你已经安装好了 Java、Python等运行必须的环境 mirai生态 mirai官方生态文档 要使用mirai开发…

【tableau】基础图形绘制

4.5 文字云 第一步: 想要突出显示的字段拖入 “标签”,如 客户名称 第二步: 展示大小的字段拖入“大小”,默认黑色 第三步:展示大小的字段拖入“颜色”,颜色不是喜欢的,可以右侧编辑颜色 4.6…