linux性能分析命令--pidstat pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等 。pidstat首次运行时显示自系统启动开始的各项统计信息 , 之后运行pidstat将显示自上次运行该命令以后的统计信息 。用户可以通过指定统计的次数和时间来获得所需的统计信息 。pidstat可以监控到进程级别的信息;这就意味着我们更容易定位问题源头 。
pidstat [ 选项 ] [ 时间间隔 ] [ 次数 ]
常用的参数:
等同于pidstat -u -p ALL,等同于pidstat -u
使用-r选项,pidstat将显示各活动进程的内存使用统计:
使用-d选项,我们可以查看进程IO的统计信息:
[root@vircent7 ~]# pidstat -w
Linux 3.10.0-1160.45.1.el7.x86_64 (vircent7.kyj)2021年12月15日x86_64(4 CPU)
对监控对象进行筛选
以上所有命令结尾,加上两个数字,即可设定采样间隔和采样次数
表示每1秒采集一次数据,一共采集5次
Linux常用性能诊断命令详解 top命令动态地监视进程活动与系统负载等信息 。
使用示例linux分析性能命令:
效果如下图linux分析性能命令:
以上命令输出视图中分为两个区域linux分析性能命令,一个统计信息区,一个进程信息区 。
统计信息区:
第一行信息依次为:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内linux分析性能命令的平均值,数值越小意味着负载越低) 。
第二行信息依次为:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数 。
第三行信息依次为:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等 。
第四行信息依次为:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量 。
第五行信息依次为:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、预加载内存量 。
进程信息区:
按 q 键退出监控页面 。
uptime 用于查看系统的负载信息 。
使用示例:
查看系统的负载信息 。
效果如下图:
输出说明:
当前服务器时间:11:06:57
当前服务器运行时长:59 min
当前用户数:1 users
当前负载情况:load average: 0.00, 0.04, 0.08(分别取1min,5min,15min的均值)
free用于显示当前系统中内存的使用量信息 。
命令语法: free [-bkmotV][-s 间隔秒数]
参数说明:
使用示例:
显示当前系统中内存的使用量信息 。
效果如下图:
输出说明:
ifconfig命令用于获取网卡配置与网络状态等信息 。
使用示例:
获取网卡配置与网络状态等信息 。
效果如下图:
输出说明:
第一部分的第一行显示网卡状态信息 。
eth0表示第一块网卡 。
UP代表网卡开启状态 。
RUNNING代表网卡的网线被接上 。
MULTICAST表示支持组播 。
第二行显示网卡的网络信息 。
inet(IP地址):172.16.67.50 。
netmask(掩码地址):255.255.0.0 。
broadcast(广播地址):172.16.255.255 。
RX表示接收数据包的情况,TX表示发送数据包的情况 。
lo表示主机的回环网卡 , 是一种特殊的网络接口,不与任何实际设备连接,而是完全由软件实现 。与回环地址(127.0.0.0/8 或 ::1/128)不同 , 回环网卡对系统显示为一块硬件 。任何发送到该网卡上的数据都将立刻被同一网卡接收到 。
如何1分钟内对 Linux 性能快速分析(113资讯网)当你在IDC主机商购买一台系统为 Linux 服务器之后linux分析性能命令,我想大家第一时间就是对主机进行一个性能分析,这里我跟大家分享几个命令 , 能让大家在一分钟以内对自己的性能有一个大致的鸟解?
uptime
dmesg | tail
vmstat 1
mpstat -P ALL 1
pidstat 1
iostat -xz 1
free -m
sar -n DEV 1
sar -n TCP,ETCP 1
top
这10个命令到底是什么意思,我为大家一一解释一下linux分析性能命令:
1.uptime
# uptime
03:16:26 up 21:31, 1 user, load average: 10.02, 06.43, 09.02
在上面的例子中 , 平均负载显示是在不断增加的,1 分钟的值是 10,相比 15 分钟的值 09 来说是增加linux分析性能命令了 。这个数字这么大就意味着有事情发生linux分析性能命令了.
2. dmesg | tail
# dmesg | tail
[14.102501] ISO 9660 Extensions: RRIP_1991A
[15.900216] ISO 9660 Extensions: Microsoft Joliet Level 3
[15.900234] ISO 9660 Extensions: RRIP_1991A
[17.030540] EXT4-fs (vda1): resizing filesystem from 5242619 to 13106939 blocks
[17.151434] random: crng init done
[17.151436] random: 7 urandom warning(s) missed due to ratelimiting
[18.314268] EXT4-fs (vda1): resized filesystem to 13106939
[20.394666] new mount options do not match the existing superblock, will be ignored
[38.405804] ISO 9660 Extensions: Microsoft Joliet Level 3
[38.407599] ISO 9660 Extensions: RRIP_1991A
这里展示的是最近 10 条系统消息日志,如果系统消息没有就不会展示 。主要是看由于性能问题导致的错误 。
3. vmstat 1
# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
rbswpdfreebuffcachesisobiboincs us sy id wa st
100 324644 141184 127062800104020743111 9900
000 324388 141184 1270628000013028011 9800
000 324388 141184 127062800008916900 10000
000 324420 141184 1270628000011822510 9900
000 324420 141184 12706280003212525400 9910
110 324420 141184 1270628000689617100 9640
000 324452 141184 127062800018412716601 9630
^C
r: CPU 上的等待运行的可运行进程数 。这个指标提供linux分析性能命令了判断 CPU 饱和度的数据,因为它不包含 I/O 等待的进程 。可解释为:“r” 的值比 CPU 数大的时候就是饱和的 。
free:空闲内存 , 单位是 k 。如果这个数比较大 , 就说明你还有充足的空闲内存 。“free -m” 和下面第 7 个命令,可以更详细的分析空闲内存的状态 。
si,so:交换进来和交换出去的数据量,如果这两个值为非 0 值,那么就说明没有内存了 。
us,sy , id,wa,st:这些是 CPU 时间的分解,是所有 CPU 的平均值 。它们是用户时间,系统时间(内核),空闲,等待 I/O 时间 , 和被偷的时间(这里主要指其它的客户 , 或者使用 Xen , 这些客户有自己独立的操作域) 。
4. mpstat -P ALL 1
# mpstat -P ALL 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu)06/15/2020_x86_64_ (1 CPU)
03:33:26 AMCPU\usr%nice%sys %iowait%irq%soft%steal%guest%gnice%idle
03:33:27 AMall0.000.000.001.000.000.000.000.000.0099.00
03:33:27 AM00.000.000.001.000.000.000.000.000.0099.00
这个命令打印各个 CPU 的时间统计,可以看出整体 CPU 的使用是不是均衡的 。由于我使用的是1H2G主机看不出区别!
5. pidstat 1
# pidstat 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu)06/15/2020_x86_64_ (1 CPU)
03:34:47 AMUIDPID\usr %system%guest%wait%CPUCPUCommand
03:34:48 AM011201.000.000.000.001.000sshd
pidstat 命令为每个 CPU 统计信息功能 。由于我使用的是1H2G主机看不出区别!
6. iostat -xz 1
# iostat -xz 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu)06/15/2020_x86_64_ (1 CPU)
avg-cpu:\user%nice %system %iowait%steal%idle
0.670.010.520.290.0098.52
Devicer/sw/srkB/swkB/srrqm/swrqm/s%rrqm%wrqm r_await w_await aqu-sz rareq-sz wareq-szsvctm\util
loop00.000.000.000.000.000.000.000.000.220.000.009.640.000.000.00
scd00.020.000.480.000.000.000.000.000.210.000.0027.720.000.190.00
vda0.644.079.1540.590.001.990.0032.853.582.310.0114.319.960.240.11
avg-cpu:\user%nice %system %iowait%steal%idle
0.000.000.000.000.00100.00
Devicer/sw/srkB/swkB/srrqm/swrqm/s%rrqm%wrqm r_await w_await aqu-sz rareq-sz wareq-szsvctm\util
r/s, w/s, rkB/s, wkB/s:这些表示设备上每秒钟的读写次数和读写的字节数(单位是k字节) 。这些可以看出设备的负载情况 。性能问题可能就是简单的因为大量的文件加载请求 。
await:I/O 等待的平均时间(单位是毫秒) 。这是应用程序所等待的时间,包含了等待队列中的时间和被调度服务的时间 。过大的平均等待时间就预示着设备超负荷了或者说设备有问题了 。
avgqu-sz:设备上请求的平均数 。数值大于 1 可能表示设备饱和了(虽然设备通常都是可以支持并行请求的,特别是在背后挂了多个磁盘的虚拟设备) 。
\util:设备利用率 。是使用率的百分数,展示每秒钟设备工作的时间 。这个数值大于 60% 则会导致性能很低(可以在 await 中看),当然这也取决于设备特点 。这个数值接近 100% 则表示设备饱和了 。
7. free -m/h
ubuntu@VM-0-17-ubuntu:~# free -m
totalusedfreesharedbuff/cacheavailable
Mem:1833137313513811506
Swap:000
ubuntu@VM-0-17-ubuntu:~$ free -h
totalusedfreesharedbuff/cacheavailable
Mem:1.8G139M311M5.8M1.3G1.5G
Swap:0B0B0B
这个命令我相信大家都熟悉,buffers:用于块设备 I/O 缓冲的缓存,cached:用于文件系统的页缓存 。
8. sar -n DEV 1
ubuntu@VM-0-17-ubuntu:~# sar -n DEV 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu)06/15/2020_x86_64_ (1 CPU)
03:43:35 AMIFACErxpck/stxpck/srxkB/stxkB/srxcmp/stxcmp/srxmcst/s%ifutil
03:43:36 AMeth011.0010.000.791.060.000.000.000.00
03:43:36 AMlo0.000.000.000.000.000.000.000.00
使用这个工具是可以检测网络接口的吞吐:rxkB/s 和 txkB/s,作为收发数据负载的度量,也是检测是否达到收发极限 。在上面这个例子中,eth0 接收数据达到 0.79 kb 字节/秒,发送数据达到1.06 字节/秒 。
9. sar -n TCP,ETCP 1
ubuntu@VM-0-17-ubuntu:~# sar -n TCP,ETCP 1
Linux 4.15.0-88-generic (VM-0-17-ubuntu)06/15/2020_x86_64_ (1 CPU)
03:49:56 AMactive/s passive/siseg/soseg/s
03:49:57 AM0.000.005.053.03
03:49:56 AMatmptf/sestres/s retrans/s isegerr/sorsts/s
03:49:57 AM0.000.000.000.000.00
这是对 TCP 关键指标的统计,它包含了以下内容:
active/s:每秒本地发起的 TCP 连接数(例如通过 connect() 发起的连接) 。
passive/s:每秒远程发起的连接数(例如通过 accept() 接受的连接) 。
retrans/s:每秒TCP重传数 。
10. top
ubuntu@VM-0-17-ubuntu:~# top
top - 03:53:20 up 1 day,1:41,1 user,load average: 0.01, 0.04, 0.00
Tasks:89 total,1 running,52 sleeping,0 stopped,0 zombie
%Cpu(s):0.3 us,0.3 sy,0.0 ni, 99.3 id,0.0 wa,0.0 hi,0.0 si,0.0 st
KiB Mem :1877076 total,317436 free,143420 used,1416220 buff/cache
KiB Swap:0 total,0 free,0 used.1540856 avail Mem
PID USERPRNIVIRTRESSHR S %CPU %MEMTIMECOMMAND
3730 root20010568868125840 S0.30.40:00.01 sshd
7546 root200644608149246776 S0.30.82:48.99 YDService
1 root20015989292606796 S0.00.50:06.45 systemd
2 root200000 S0.00.00:00.00 kthreadd
4 root0 -20000 I0.00.00:00.00 kworker/0:0H
6 root0 -20000 I0.00.00:00.00 mm_percpu_wq
7 root200000 S0.00.00:04.29 ksoftirqd/0
8 root200000 I0.00.00:08.85 rcu_sched
9 root200000 I0.00.00:00.00 rcu_bh
10 rootrt0000 S0.00.00:00.00 migration/0
11 rootrt0000 S0.00.00:00.16 watchdog/0
12 root200000 S0.00.00:00.00 cpuhp/0
13 root200000 S0.00.00:00.00 kdevtmpfs
top 命令包含了很多我们前面提到的指标 。这个命令可以很容易看出指标的变化表示负载的变化,这个看起来和前面的命令有很大不同 。
top 的一个缺陷也比较明显,很难看出变化趋势,其它像 vmstat 和 pidstat 这样的工具就会很清晰,它们是以滚动的方式输出统计信息 。所以如果你在看到有问题的信息时没有及时的暂停下来(Ctrl-S 是暂停, Ctrl-Q 是继续),那么这些有用的信息就会被清屏 。
文章原文:(来都来了,就去我博客看下?。。?
linux中查看虚拟内存和cpu占用率的命令是什么top,free,cat /proc/meminfo,cat /proc/cpuinfo 。
[root@centerlisdb proc]# dmidecode |grep -A16 "Memory Device" | more [object Object] 。
查看内存使用情况linux分析性能命令:cat /proc/meminfo , 查看CPU使用情况linux分析性能命令:cat /proc/cpuinfo 。
在系统维护linux分析性能命令的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况linux分析性能命令的需要 。在 CentOS 中 , 可以通过 top 命令来查看 CPU 使用状况 。
运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等 。退出 top 的命令为 q (在 top 运行中敲 q 键一次) 。
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况 , 类似于Windows的任务管理器 。
可以直接使用top命令后,查看%MEM的内容 。可以选择按进程查看或者按用户查看,如想查看oracle用户的进程内存使用情况的话可以使用如下的命令linux分析性能命令:$ top -u oracle 。
扩展资料:
一、查看内存占用:
1、free
# free -m 。
以MB为单位显示内存使用情况 。
# free -h 。
以GB为单位显示内存使用情况 。
# free -t 。
以总和的形式查询内存的使用信息 。
# free -s 5 。
周期性的查询内存使用信息 。
每5秒执行一次命令 。
二、查看CPU使用情况:
1、top 。
top后键入P看一下谁占用最大 。
# top -d 5 。
周期性的查询CPU使用信息 。
每5秒刷新一次 。
2、ps auxw(查看本机的进程所占cpu和mem的百分比情况) 。
使用"ps auxw" 可以查看到本机的进程所占cpu和mem的百分比情况 。
# ps auxw | head -1
%CPU 进程的cpu占用率 。
%MEM 进程的内存占用率 。
3、查看本机所有进程的CPU占比之和 。
# cat cpu_per.sh
三、查看cpu信息(信息记录在/proc/cpuinfo中)
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 。
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 。
【linux分析性能命令 linux 性能命令】关于linux分析性能命令和linux 性能命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 专科软件工程游戏开发工资,专科软件工程游戏开发工资怎么样
- 无线路由器局域网怎么设置,路由器设置局域网网段
- 未来的射击类游戏,未来的射击类游戏有哪些
- php大数据处理面试题 php yield 处理大数据
- ERP系统里面计量单位有哪些,erp系统都有哪些
- 开发捕鱼游戏平台,开发捕鱼游戏平台违法吗
- 影驰的显卡怎么保修,影驰显卡官网保修 查询
- oracle怎么前进 oracle怎么进入数据库
- 重庆gis应用的简单介绍