linux常用性能观测工具---硬件相关
rdmsr
在Linux内核源码中提供了读写CPU MSR寄存器模块,使可以在用户空间直接读写MSR寄存器。
开源社区提供msr寄存器读写工具msrtools,其中有两个命令,rdmsr/wrmsr。要使rdmsr/wrmsr命令真正可以读写msr寄存器,系统中必须有msr模块,或将msr模块编译进内核,下面是从内核配置选项中选取的内容。
top
语法
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
负载均衡(uptime) load average: 0.00, 0.00, 0.00
average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了
总进程:150 total, 运行:1 running, 休眠:149 sleeping, 停止: 0 stopped, 僵尸进程: 0 zombie
0.0%us【user space】— 用户空间占用CPU的百分比。
0.3%sy【sysctl】— 内核空间占用CPU的百分比。
0.0%hi【Hardware IRQ】— 硬中断占用CPU的百分比
0.0%si【Software Interrupts】— 软中断占用CPU的百分比
1003020k total, 234464k used, 777824k free, 24084k buffers【缓存的内存量】
2031612k total, 536k used, 2031076k free, 505864k cached【缓冲的交换区总量】
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,
第四行中空闲内存总量(free)是内核还未纳入其管控范围的数量。
纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
DATA
1、数据占用的内存。如果top没有显示,按f键可以显示出来。
2、真正的该程序要求的数据空间,是真正在运行中要使用的。
free
语法
free [-bkmotV][-s <间隔秒数>]
参数说明:
-b 以Byte为单位显示内存使用情况。
-k 以KB为单位显示内存使用情况。
-m 以MB为单位显示内存使用情况。
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值。单位有:
ps
ps 为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具。
- 运行(正在运行或在运行队列中等待)
- 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
- 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
- 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
- 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
D 不可中断 uninterruptible sleep (usually IO)
Z 僵死 a defunct (”zombie”) process
vmstat
pidstat
slabtop
slabtop 显示内核信息实时,实时显示详细的 slab 缓存的内核信息.它会显示一个清单顶部缓存此列排序条件排序.它还显示一个统计头的楼板填充图层信息.
内核的模块在分配资源的时候,为了提高效率和资源的利用率,都是透过slab来分配的。通过slab的信息,再配合源码能粗粗了解系统的运行情况,比如说什么资源有没有不正常的多,或者什么资源有没有泄漏。linux系统透过/proc/slabinfo来向用户暴露slab的使用情况。
Linux 所使用的 slab 分配器的基础是 Jeff Bonwick 为 SunOS 操作系统首次引入的一种算法。Jeff 的分配器是围绕对象缓存进行的。在内核中,会为有限的对象集(例如文件描述符和其他常见结构)分配大量内存。Jeff 发现对内核中普通对象进行初始化所需的时间超过了对其进行分配和释放所需的时间。因此他的结论是不应该将内存释放回一个全局的内存池,而是将内存保持为针对特定目而初始化的状态。Linux slab 分配器使用了这种思想和其他一些思想来构建一个在空间和时间上都具有高效性的内存分配器。
保存着监视系统中所有活动的 slab 缓存的信息的文件为/proc/slabinfo。
sar
-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
proc
dstat
perf
linux常用性能观测工具---硬件相关相关推荐
- Linux常用性能分析工具汇总
文章目录 性能分析工具 top pstree mpstat vmstat pidstat perf proc tcpdump bcc工具箱 cachestat cachetop memleak fil ...
- Linux下性能分析工具
Linux下性能分析工具 1.iotop IO性能分析工具 yum -y install epel-release yum -y install iotop iotop 2.nload 网络流量分析工 ...
- 性能之巅:Linux网络性能分析工具-netstat,ifconfig,nicstat,traceroute,tcpdump
原文地址:http://www.infoq.com/cn/articles/linux-networking-performance-analytics 本文介绍基于Linux操作系统的网络性能分析工 ...
- 性能之巅:Linux网络性能分析工具
编者按:InfoQ开设新栏目"品味书香",精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自格雷格著<性能之巅:洞悉系统.企业与云计算>中 ...
- Linux网络性能评估工具iperf 、CHARIOT测试网络吞吐量
目录 一. Iperf能做什么 1.TCP方面 2.UDP方面 二. Iperf的安装与使用 1.安装iperf 2.iperf参数介绍 三. Iperf应用实例 1.测试TCP吞吐量 2 . 测试U ...
- Linux 内存性能检测工具
本文介绍关于Linux系统的内存带宽测试工具-mbw.内存性能测试工具包括: 内存带宽测试工具--mbw: 内存压力测试工具--memtester: 内存综合性能测试工具--lmbench: 内存申请 ...
- Linux常用性能检测命令
一.uptime Uptime命令的显示结果包括服务器已经运行了多长时间,有多少登陆用户和对服务器性能的总体评估(load average).load average值分别记录了上个1分钟,5 ...
- Linux常用性能分析监控工具 iostat、iotop、top、htop、free、iftop
文章目录 1.磁盘监控工具 1.1.iostat 1.2.iotop 2.CPU监控工具 2.1.top 2.2.htop 3.内存监控工具 3.1.free 4.网络监控工具 4.1.iftop 1 ...
- linux常用进程管理工具及查看
linux进程查看及管理工具 我们常用的进程管理工具有: pstree, ps, pidof, pgrep, top, htop, glance,dstat linux系统各进程的相关信息都保存于/p ...
最新文章
- C# 写Windows服务
- python入门教程非常详细-Python该怎么入门?Python入门教程(非常详细)
- 3157 Java vs C++模拟
- 自定义异常时exception is never thrown in the corresponding try block和unhandled exception
- canvas 圆角矩形填充_一篇文章让你学会你最“害怕”的Canvas,太有意思了
- java中uri什么意思,java URI URL 个人理解。
- 微服务框架 Spark Framework
- python 自动化 在日历中选择时间-Python中Selenium选择日期(选择日历控件)的方法...
- ★LeetCode(559)——N叉树的最大深度(JavaScript)
- win7为什么打开桌面上的计算机很卡很慢,如何解决win7系统电脑反应慢
- 自动执行任务_中小企业如何做运维自动化?
- 管理 ciner-volumes
- windows64位 时序数据库 TimescaleDB + postgresql 安装
- textarea去掉滚动条
- pic单片机c语言多路模拟量输入,pic单片机多路ad切换程序介绍
- 接口测试工具 soapui 下载及安装
- 数据结构之斐波那契数列java实现
- react初步学习(三)
- 懂户型图 如何选择好户型
- 百度网盘不限速——pandownlode与BaiduPCS-Go
热门文章
- JQuery 使用技巧(一):判断元素是否显示与隐藏
- html 适配iphonex,有关HTML5页面在iPhoneX适配问题
- 像小红书一样的图片裁剪控件联动效果
- 08.存储Cinder→5.场景学习→10.Bootable Volume
- codeforces 1279c
- 51Nod - 1279
- Android 键盘超级玛丽,如何玩超级玛丽
- 模块加载失败 请确保该二进制文件在指定的路径中 找不到指定的模块(转载)
- 360OS的财产隔离系统
- 【Rust 日报】2021-09-26 RustConf 2021 项目精选