性能监控-linux操作系统计数器

top:实时显示系统中各个进程的资源占用状况

top [选项]

性能监控-linux操作系统计数器_第1张图片

交互式命令

基本视图内容解释

性能监控-linux操作系统计数器_第2张图片

top命令:
第一行队列任务信息
第二行 进程任务信息可以看到运行、休眠、停止、僵死状态的进程个数
第三行:CPU状态信息

%Cpu(s):  0.5 us,  0.4 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st


us:用户进程占用CPU百分比 
sy:内核进程占用CPU百分比
ni:改变过优先级的进程占用
id:空闲进程占用
wa:I/O等待占用CPU的百分比
hi:硬中断占用CPU百分比
si:软中断占用CPU百分比
st:虚拟机占用CPU百分比
第四行:内存信息

KiB Mem : 16431440 total,  3815204 free,  9833880 used,  2782356 buff/cache


buffers:缓冲的内存量
第五行:交换分区信息

KiB Swap:        0 total,        0 free,        0 used.  6249880 avail Mem


cached缓存的内存量
真正可用的内存:第四行free+第四行buffers+第五行cached
第七行:进程状态监控

性能监控-linux操作系统计数器_第3张图片
PR:进程优先级
NI:nice值,负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存数量,单位kb
RES:进程使用的未被换出的物理内存大小,单位kb
SHR:共享内存大小单位kb
S 进程状态。D=不可中断的睡眠状态R=运行S=睡眠T=跟踪/停止Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计单位1/100秒
COMMAND:命令行

uptime:显示系统的运行时间及负载

uptime命令可以输出当前系统时间、系统开机到现在的运行时间、目前有多少用户在线和系统平均负载等信息。

[root@oldboy ~]# uptime 19:07:14 up 13 min, 1 user, load average: 0.00, 0.00, 0.00 系统时间 运行时长 登录用户数 平均负载 1min,5min,15min  

uptime命令从如下两个文件读取信息

从/var/run/uptmp中读取用户登录信息。 从/proc中读取进程信息。 

free:查看系统内存信息

free命令用于显示系统内存状态,具体包括系统物理内存、虚拟内存、共享内存和系统缓存等

free 选项

性能监控-linux操作系统计数器_第4张图片

 

 

free -h比较好用。 

直接用free命令不加参数很难读懂,建议带参数

·buffers为写入数据缓冲区。·cache为读取数据的缓存区。

·Linux系统的特性是将不用的物理内存缓存起来,因此系统的真实剩余内存。并不是free值

可用内存为available的值。

实时查询内存

free -h -s 10

 vmstat:虚拟内存统计

vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析

性能监控-linux操作系统计数器_第5张图片

第1列:procs。·

r列表示运行和等待CPU时间片的进程数。

·b列表示正在等待资源的进程数。

第2列:memory。

·swpd列表示使用虚拟内存的大小。

·free列表示当前空闲的物理内存数量。

·buff列表示buffers的内存数量。

·cache列表示cache的内存数量。

第3列:swap。

·si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。

·so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。

第4列:I/O项显示磁盘读写状况。·

bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。

·bo列表示写入块设备的数据总量(即写磁盘)(块/s)。

第5列:system显示采集间隔内发生的中断数。

·in列表示在某一时间间隔中观测到的每秒设备中断数。·

cs列表示每秒产生的上下文切换次数。

第6列:CPU项显示了CPU的使用状态。·

us列显示了用户进程消耗的CPU时间百分比。

·sy列显示了系统(内核)进程消耗的CPU时间百分比。

·id列显示了CPU处在空闲状态的时间百分比。

·wa列显示了I/O等待所占用的CPU时间百分比。

·st列显示了虚拟机占用的CPU 

参数选项

性能监控-linux操作系统计数器_第6张图片

vmstat # 仅显示一次报告后退出
vmstat 5 # 每5秒钟更新一次输出,按ctrl+C停止输出
vmstat 5 6 #  5秒钟更新一次,6次后退出
vmstat -a 2 5 显示活跃和非活跃内存,
memory列增加了inact和active两列,其说明具体如下。·inact:非活跃的内存大小(当使用-a选项时显示)。·active:活跃的内存大小(当使用-a选项时显示)
vmstat -s 查看内存使用详细信息 分别来自于/proc/meminfo、/proc/stat和/proc/vmstat
vmstat -d 查看磁盘读写 信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,系统一般会把多个连接/邻近的读/写请求合并到一起来操作。】
vmstat -p /dev/sda1 般会把多个连接/邻近的读/写请求合并到一起来操作。
这些信息主要来自于/proc/diskstats。各列的说明具体如下。·reads:来自于该分区的读的次数。·read sectors:来自于该分区的读扇区的次数。·writes:来自于该分区的写的次数。·requested writes:来自于该分区的写请求次数。

iotop:动态显示磁盘I/O统计信息

lscpu 显示与CPU相关的信息

lscpu是一个命令行工具,用于显示与CPU相关的信息。它从sysfs和/proc/cpuinfo收集CPU体系结构信息,并以易于阅读的方式输出这些信息。

输出的信息可能包括CPU数量、线程、核数、socket和Nom-Uniform Memeor Access (NUMA)等。

这个命令在使用时,不需要任何特殊的权限。

性能监控-linux操作系统计数器_第7张图片

内容来自《跟老男孩学Linux运维》 

你可能感兴趣的:(性能测试,linux,运维,服务器)