- 浏览: 284719 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (204)
- Ubuntu (8)
- Maven (1)
- JVM (12)
- Shell (11)
- WEB (24)
- 数据库 (1)
- Linux (24)
- ibatis源码 (8)
- 乱七八糟 (6)
- memcache (2)
- 数据结构 (1)
- mongoDb (3)
- WebService (1)
- 装机 (1)
- zookeeper (0)
- Hbase (4)
- mysql (6)
- nginx (3)
- SSDB (0)
- kafka消息 (3)
- Rust语言学习 (2)
- Tair学习 (0)
- ES (7)
- freeMarker (2)
- 分布式任务调度学习 (0)
- Apache Camel翻译 (1)
- Storm (1)
- Netty (3)
- NodeJs (1)
- BootStrap (1)
- 读书计划 (0)
- databus (1)
- Socket编程 (1)
- Redis (5)
- Hystrix (2)
- JDK (2)
- JMeter测试 (1)
- Idea (8)
- JProfile学习 (9)
- springBoot (6)
- httpClient (1)
- Docker学习 (1)
- 微信小程序学习 (1)
- beanstalkd (0)
- gradle (1)
- 硬盘学习 (0)
- activiti-engine (1)
- 算法 (3)
- thrfit学习 (1)
- serviceMesh (2)
- 流控 (0)
- TCP (0)
最新评论
-
k_kid9157:
亲测可用 特来感谢LZ分享!
the namespace on the "definitions" element, is not atorChain doIntercept Interce -
fair_jm:
归纳得很好 还有G1 学习了
java的垃圾收集算法和垃圾收集器 -
zhouchaofei2010:
有理想 赞一个
ibatis源码 -
code_cj:
好像在哪里看过,有点熟眼...
jvm如何判断对象已死? -
ansjsun:
不错不错..就是有点粗略..希望能介绍下.标记整理和标记删除. ...
jvm如何判断对象已死?
pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
实例讲解
默认参数
执行pidstat,将输出系统启动后所有活动进程的cpu统计信息:
复制代码
$ pidstat 1
Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)
07:41:02 PM UID PID %usr %system %guest %CPU CPU Command
07:41:03 PM 0 9 0.00 0.94 0.00 0.94 1 rcuos/0
07:41:03 PM 0 4214 5.66 5.66 0.00 11.32 15 mesos-slave
07:41:03 PM 0 4354 0.94 0.94 0.00 1.89 8 java
07:41:03 PM 0 6521 1596.23 1.89 0.00 1598.11 27 java
07:41:03 PM 0 6564 1571.70 7.55 0.00 1579.25 28 java
07:41:03 PM 60004 60154 0.94 4.72 0.00 5.66 9 pidstat
07:41:03 PM UID PID %usr %system %guest %CPU CPU Command
07:41:04 PM 0 4214 6.00 2.00 0.00 8.00 15 mesos-slave
07:41:04 PM 0 6521 1590.00 1.00 0.00 1591.00 27 java
07:41:04 PM 0 6564 1573.00 10.00 0.00 1583.00 28 java
07:41:04 PM 108 6718 1.00 0.00 0.00 1.00 0 snmp-pass
07:41:04 PM 60004 60154 1.00 4.00 0.00 5.00 9 pidstat
复制代码
pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。如上的输出,可以看见两个JAVA进程占用了将近1600%的CPU时间,既消耗了大约16个CPU核心的运算资源。
指定采样周期和采样次数
pidstat命令指定采样周期和采样次数,命令形式为”pidstat [option] interval [count]”,以下pidstat输出以2秒为采样周期,输出10次cpu使用统计信息:
pidstat 2 10
cpu使用情况统计(-u)
使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。
内存使用情况统计(-r)
使用-r选项,pidstat将显示各活动进程的内存使用统计:
复制代码
linux:~ # pidstat -r -p 13084 1
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
15:08:18 PID minflt/s majflt/s VSZ RSS %MEM Command
15:08:19 13084 133835.00 0.00 15720284 15716896 96.26 mmmm
15:08:20 13084 35807.00 0.00 15863504 15849756 97.07 mmmm
15:08:21 13084 19273.87 0.00 15949040 15792944 96.72 mmmm
复制代码
以上各列输出的含义如下:
minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数
majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生
VSZ: 该进程使用的虚拟内存(以kB为单位)
RSS: 该进程使用的物理内存(以kB为单位)
%MEM: 该进程使用内存的百分比
Command: 拉起进程对应的命令
IO情况统计(-d)
使用-d选项,我们可以查看进程IO的统计信息:
复制代码
linux:~ # pidstat -d 1 2
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
17:11:36 PID kB_rd/s kB_wr/s kB_ccwr/s Command
17:11:37 14579 124988.24 0.00 0.00 dd
17:11:37 PID kB_rd/s kB_wr/s kB_ccwr/s Command
17:11:38 14579 105441.58 0.00 0.00 dd
复制代码
输出信息含义
kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)
Command: 拉起进程对应的命令
针对特定进程统计(-p)
使用-p选项,我们可以查看特定进程的系统资源使用情况:
复制代码
linux:~ # pidstat -r -p 1 1
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
18:26:17 PID minflt/s majflt/s VSZ RSS %MEM Command
18:26:18 1 0.00 0.00 10380 640 0.00 init
18:26:19 1 0.00 0.00 10380 640 0.00 init
……
复制代码
pidstat常用命令
使用pidstat进行问题定位时,以下命令常被用到:
pidstat -u 1
pidstat -r 1
pidstat -d 1
以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。
参考: https://www.cnblogs.com/mululu/p/5833722.html
实例讲解
默认参数
执行pidstat,将输出系统启动后所有活动进程的cpu统计信息:
复制代码
$ pidstat 1
Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)
07:41:02 PM UID PID %usr %system %guest %CPU CPU Command
07:41:03 PM 0 9 0.00 0.94 0.00 0.94 1 rcuos/0
07:41:03 PM 0 4214 5.66 5.66 0.00 11.32 15 mesos-slave
07:41:03 PM 0 4354 0.94 0.94 0.00 1.89 8 java
07:41:03 PM 0 6521 1596.23 1.89 0.00 1598.11 27 java
07:41:03 PM 0 6564 1571.70 7.55 0.00 1579.25 28 java
07:41:03 PM 60004 60154 0.94 4.72 0.00 5.66 9 pidstat
07:41:03 PM UID PID %usr %system %guest %CPU CPU Command
07:41:04 PM 0 4214 6.00 2.00 0.00 8.00 15 mesos-slave
07:41:04 PM 0 6521 1590.00 1.00 0.00 1591.00 27 java
07:41:04 PM 0 6564 1573.00 10.00 0.00 1583.00 28 java
07:41:04 PM 108 6718 1.00 0.00 0.00 1.00 0 snmp-pass
07:41:04 PM 60004 60154 1.00 4.00 0.00 5.00 9 pidstat
复制代码
pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。如上的输出,可以看见两个JAVA进程占用了将近1600%的CPU时间,既消耗了大约16个CPU核心的运算资源。
指定采样周期和采样次数
pidstat命令指定采样周期和采样次数,命令形式为”pidstat [option] interval [count]”,以下pidstat输出以2秒为采样周期,输出10次cpu使用统计信息:
pidstat 2 10
cpu使用情况统计(-u)
使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。
内存使用情况统计(-r)
使用-r选项,pidstat将显示各活动进程的内存使用统计:
复制代码
linux:~ # pidstat -r -p 13084 1
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
15:08:18 PID minflt/s majflt/s VSZ RSS %MEM Command
15:08:19 13084 133835.00 0.00 15720284 15716896 96.26 mmmm
15:08:20 13084 35807.00 0.00 15863504 15849756 97.07 mmmm
15:08:21 13084 19273.87 0.00 15949040 15792944 96.72 mmmm
复制代码
以上各列输出的含义如下:
minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数
majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生
VSZ: 该进程使用的虚拟内存(以kB为单位)
RSS: 该进程使用的物理内存(以kB为单位)
%MEM: 该进程使用内存的百分比
Command: 拉起进程对应的命令
IO情况统计(-d)
使用-d选项,我们可以查看进程IO的统计信息:
复制代码
linux:~ # pidstat -d 1 2
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
17:11:36 PID kB_rd/s kB_wr/s kB_ccwr/s Command
17:11:37 14579 124988.24 0.00 0.00 dd
17:11:37 PID kB_rd/s kB_wr/s kB_ccwr/s Command
17:11:38 14579 105441.58 0.00 0.00 dd
复制代码
输出信息含义
kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)
kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)
Command: 拉起进程对应的命令
针对特定进程统计(-p)
使用-p选项,我们可以查看特定进程的系统资源使用情况:
复制代码
linux:~ # pidstat -r -p 1 1
Linux 2.6.32.12-0.7-default (linux) 06/18/12 _x86_64_
18:26:17 PID minflt/s majflt/s VSZ RSS %MEM Command
18:26:18 1 0.00 0.00 10380 640 0.00 init
18:26:19 1 0.00 0.00 10380 640 0.00 init
……
复制代码
pidstat常用命令
使用pidstat进行问题定位时,以下命令常被用到:
pidstat -u 1
pidstat -r 1
pidstat -d 1
以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。
参考: https://www.cnblogs.com/mululu/p/5833722.html
发表评论
-
查看磁盘IO的dstat命令的使用
2018-12-21 10:22 17011.dstat的选项 -c,-cpu ... -
linux的top进程状态
2018-12-18 10:28 1325R 是 Running 或 Runnable 的缩写, ... -
GDB的使用
2018-12-10 10:25 374待补充XXXXX -
如何查看linux中断发生的类型
2018-12-08 14:36 1173watch -d cat /proc/interrupts -
Linux vmstat命令实战详解
2018-12-08 13:53 813vmstat命令是最常见的Linux/Unix监控工具,可以展 ... -
Linux CPU实时监控mpstat命令详解
2018-12-06 14:17 766简介mpstat是Multiprocessor Stati ... -
存储的计量单位
2018-11-21 10:21 600存储单位 计算机存储单位一般用B,KB、MB、GB、TB、P ... -
ieal下面的自动getset方法
2017-09-27 17:34 601idea 自定解析set/get方法的插件,总是忘了叫什么,今 ... -
linux下面的strace的用法
2017-08-01 17:22 624转子: http://blog.csdn.net/zhon ... -
Idea的2017版本激活
2017-04-25 09:52 602进入idea主页面,help-register-license ... -
ss命令操作socket
2017-04-19 10:23 674http://www.ttlsa.com/linux-comm ... -
linux每隔固定时间执行命令
2016-08-22 10:49 931$ watch -n 3 'date +"%H: ... -
Drool的学习资料
2016-07-07 15:50 391https://github.com/droolsjbpm h ... -
查看linux内存
2013-10-15 10:46 765二,利用vmstat命令监控 ... -
linux时间同步(待续)
2013-10-08 10:33 703设置时间 1、date -s [plain] view p ... -
linux修改hostname(转)
2013-10-08 10:05 775修改 Linux 主机名 Linux 下什么都比较麻烦,就连 ... -
linux查看内存使用情况
2013-09-06 17:40 1418看内存最方便的命令是f ... -
Linux下面修改字符集
2013-08-12 13:52 765http://blog.csdn.net/cyuyan1122 ... -
Linux下查看磁盘空间使用
2013-07-15 14:37 13511>df是以磁盘分区为单位来查看磁盘的使用情况: [ro ... -
centos mysql忘记密码
2013-03-04 15:11 952一:(停掉正在运行的mysql) [root@NetDakVP ...
相关推荐
Linux 中使用 pidstat 命令对进程数据进行监控 在 Linux 系统中,对进程数据进行监控是非常重要的,pidstat 命令就是其中的一种常用命令。pidstat 命令可以对 Linux 系统进程数据进行监控,但要先对 pidstat 进行...
Linux 进程实时监控技术的内核实现 Linux 进程实时监控技术的内核实现是指在 Linux 操作系统中,实时监控和跟踪进程的运行状态和行为,以便及时发现和防止恶意进程的破坏活动。该技术的实现主要基于 Linux 内核的...
在IT领域,实时监控进程是一项重要的任务,尤其对于系统管理员和开发者来说,了解系统的运行状态以及各个进程的行为至关重要。本文将深入探讨如何实现一个能够实时监控特定进程的源码,并结合给定的文件"实时监控某...
Linux 进程管理四个命令详解 Linux 进程管理是 Linux 操作系统中一个非常重要的组件,它负责管理和控制系统中的进程。Linux 提供了多种命令来管理和监控进程,这些命令可以帮助系统管理员和开发者更好地了解和控制...
**Linux `ps` 命令详解** 在Linux操作系统中,`ps`(Process Status)命令是用于查看系统当前进程状态的工具。它能够显示进程的实时信息,帮助用户了解系统的运行情况,进行进程管理。`ps`命令历史悠久,功能强大,...
通过Process类的Property,如Process.cpuUsage或Process.PrivateMemorySize,可以实时监控进程的资源消耗。 为了实现用户和进程的综合监控,可以创建一个C#应用程序,该程序周期性地检查用户登录状态和进程资源使用...
在C# WinForm环境中开发进程监控程序是一项常见的任务,它涉及到对系统进程的实时跟踪、控制和管理。本文将深入探讨如何使用C#语言和Windows Forms(WinForm)框架来实现这一功能,以及如何设计一个能够按设定顺序...
本文将详细讲解如何使用C#语言实现对Chrome进程的实时监控,以及这个过程涉及的关键知识点。 首先,我们需要了解什么是进程。在操作系统中,进程是程序的一次执行实例,它包含了程序运行时所需的所有资源,如内存、...
3. 实施实时监控:启动监控,观察流量变化。 4. 数据分析:定期查看监控报告,识别流量模式和潜在问题。 5. 调整和优化:根据分析结果调整网络策略,优化资源配置。 在进行流量监控时,还需要注意保护用户隐私,...
5. **循环与定时器**:为了实时监控,程序会设置一个循环或定时器,定期执行上述的进程检查和管理任务。 6. **日志记录与报警**:为了便于故障排查和系统维护,进程监控程序通常会记录操作日志,并在出现异常情况时...
**WMI实时监控进程开启** 是一种在Windows操作系统中实现进程监控的技术,它基于Windows Management Instrumentation(WMI)框架。WMI是微软提供的一种管理工具,它允许开发者通过脚本或程序来获取和控制系统层面的...
### Shell 脚本实现服务器进程监控方法详解 在IT运维和开发环境中,服务器进程的稳定运行至关重要。本文将深入探讨如何使用Shell脚本实现服务器进程监控,这不仅有助于及时发现异常情况,还能提高系统的可用性和...
接着,监控程序需要启动进程,这通常意味着通过系统命令如`nohup`或者`systemd`等来确保进程在后台稳定运行,即使关闭终端也不会影响进程的运行。在进程被启动之后,监控程序就会不断地对其进行监控,查看进程是否...
进程监测:用户可以通过信号或者 ps 命令对被监控的进程进行状态检测,如果进程异常退出,gmonitor 会自动拉起,并记录日志。 进程配置:用户可以通过 JSON 格式的配置文件对被监控的进程进行配置,包括进程名、运行...
它具有高度自动化的特点,能够实时监控最多30个不同的进程,一旦发现任何被监控的进程异常退出,软件会立即执行自动重启操作,以保证服务的连续性和系统的正常运行。 在实际应用中,这样的软件对于服务器维护、应用...
### nohup命令详解:确保进程在终端关闭后继续运行 #### 核心知识点解析: **nohup命令概述:** `nohup`是Linux系统中的一个实用工具,其名称源自“No Hang UP”,意为“不断开”。该命令允许用户在终端窗口关闭或...
Linux top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。 认识 top 的显示结果 ------------------- top 命令的显示...
这个命令可以帮助系统管理员和开发者了解系统的运行情况,监控资源使用,查找问题,以及调试程序。下面将详细介绍`ps aux`命令及其各个选项的含义。 首先,`ps`的基本用法是列出当前终端下的进程,而`aux`是多个...
2. 实时监控:工具会定期检查列表中的每个进程,通过检查进程是否存在、运行状态等信息来判断进程是否正常运行。 3. 故障检测:如果工具发现某个进程已经停止,它会立即识别这是一个故障情况。 4. 自动恢复:在...