
正文
linux分析性能命令 linux 性能命令
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
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次
相关问答
Q1: 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)不同,回环网卡对系统显示为一块硬件。任何发送到该网卡上的数据都将立刻被同一网卡接收到。
Q2: 如何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-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 324644 141184 1270628 0 0 10 40 207 431 1 1 99 0 0
0 0 0 324388 141184 1270628 0 0 0 0 130 280 1 1 98 0 0
0 0 0 324388 141184 1270628 0 0 0 0 89 169 0 0 100 0 0
0 0 0 324420 141184 1270628 0 0 0 0 118 225 1 0 99 0 0
0 0 0 324420 141184 1270628 0 0 0 32 125 254 0 0 99 1 0
1 1 0 324420 141184 1270628 0 0 0 68 96 171 0 0 96 4 0
0 0 0 324452 141184 1270628 0 0 0 184 127 166 0 1 96 3 0
^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 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
03:33:27 AM all 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 99.00
03:33:27 AM 0 0.00 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 99.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 AM UID PID %usr %system %guest %wait %CPU CPU Command
03:34:48 AM 0 1120 1.00 0.00 0.00 0.00 1.00 0 sshd
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.67 0.01 0.52 0.29 0.00 98.52
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.22 0.00 0.00 9.64 0.00 0.00 0.00
scd0 0.02 0.00 0.48 0.00 0.00 0.00 0.00 0.00 0.21 0.00 0.00 27.72 0.00 0.19 0.00
vda 0.64 4.07 9.15 40.59 0.00 1.99 0.00 32.85 3.58 2.31 0.01 14.31 9.96 0.24 0.11
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %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
total used free shared buff/cache available
Mem: 1833 137 313 5 1381 1506
Swap: 0 0 0
ubuntu@VM-0-17-ubuntu:~$ free -h
total used free shared buff/cache available
Mem: 1.8G 139M 311M 5.8M 1.3G 1.5G
Swap: 0B 0B 0B
这个命令我相信大家都熟悉,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 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
03:43:36 AM eth0 11.00 10.00 0.79 1.06 0.00 0.00 0.00 0.00
03:43:36 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.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 AM active/s passive/s iseg/s oseg/s
03:49:57 AM 0.00 0.00 5.05 3.03
03:49:56 AM atmptf/s estres/s retrans/s isegerr/s orsts/s
03:49:57 AM 0.00 0.00 0.00 0.00 0.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 USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3730 root 20 0 105688 6812 5840 S 0.3 0.4 0:00.01 sshd
7546 root 20 0 644608 14924 6776 S 0.3 0.8 2:48.99 YDService
1 root 20 0 159892 9260 6796 S 0.0 0.5 0:06.45 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
7 root 20 0 0 0 0 S 0.0 0.0 0:04.29 ksoftirqd/0
8 root 20 0 0 0 0 I 0.0 0.0 0:08.85 rcu_sched
9 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_bh
10 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
11 root rt 0 0 0 0 S 0.0 0.0 0:00.16 watchdog/0
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
top 命令包含了很多我们前面提到的指标。这个命令可以很容易看出指标的变化表示负载的变化,这个看起来和前面的命令有很大不同。
top 的一个缺陷也比较明显,很难看出变化趋势,其它像 vmstat 和 pidstat 这样的工具就会很清晰,它们是以滚动的方式输出统计信息。所以如果你在看到有问题的信息时没有及时的暂停下来(Ctrl-S 是暂停, Ctrl-Q 是继续),那么这些有用的信息就会被清屏。
文章原文: (来都来了,就去我博客看下!!)
Q3: 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 性能命令的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






