Linux性能监控命令_pidstat 统计进程信息

2023-10-14 05:52

本文主要是介绍Linux性能监控命令_pidstat 统计进程信息,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:
https://blog.csdn.net/m0_61066945/article/details/126568206

描述

pidstat命令用于监视当前由Linux内核管理的各个任务。
注意:首次运行时显示自系统启动开始的各项统计信息。
目录

  1. 语法
    1.1. 常用参数
  2. 常见用法
    2.1. 监控CPU
    2.2. 监控内存
    2.3. 监控IO
    2.4. 监控上下文切换
    2.5. 监控多个pid信息
  3. 随手shell
  4. 其他性能监控命令

1. 语法

pidstat [ 选项 ] [ <时间间隔> [ <监控次数> ] ]

1.1. 常用参数

u:监控CPU
-r:监控内存
-d:监控I/O统计信息
-w:监控上下文切换
-t:显示详细信息,也可以指定pidstat必须监视的内容 {task | child | all}
-p:指定PID {pid[,…]| self | all}
-C:指定命令名称包含字符串comm的任务

2. 常见用法

2.1. 监控CPU

pidstat -u 1    #只显示占用CPU的进程
PID    :某个进程的PID
%usr   :用户空间使用的cpu%
%system:内核空间使用的cpu%
%guest :管理程序(hypervisor)为另一个虚拟进程提供服务而等待的虚拟CPU占比
%CPU   :整体CPU的使用率
CPU    :CPU的编号    #例如总cpu只有4核,那么对应每个CPU的编号为 0,1,2,3
Command:进程的命令名称

2.2. 监控内存

pidstat -r 1    #只显示占用内存的进程
PID     :进程的PID
minflt/s:每秒发生的小故障总数      #即不需要从磁盘加载内存页的故障
majflt/s:每秒发生的主要故障总数    #即需要从磁盘加载内存页的故障
VSZ     :虚拟内存使用情况(以千字节为单位)
RSS     :物理内存使用情况(以千字节为单位)
%MEM    :使用总内存占比情况
Command :进程的命令名称

2.3. 监控IO

pidstat -d 1    # #只显示操作磁盘的进程
PID      :进程的PID
kB_rd/s  :磁盘每秒读数据(单位:KB)
kB_wr/s  :磁盘每秒写数据(单位:KB)
kB_ccwr/s:已被任务取消写入磁盘的数据(单位:KB)
Command  :进程的命令名称

2.4. 监控上下文切换

pidstat -w 1    # #只显示正在进行上下文切换的进程
PID      :进程的PID
cswch/s  :每秒自愿上下文切换的总数     #当任务因为需要不可用的资源而阻塞时,就会发生自愿的上下文切换
nvcswch/s:每秒非自愿上下文切换的总数   #当任务在其时间片期间执行,然后被迫放弃处理器时,就会发生非自愿的上下文切换
Command  :进程的命令名称

2.5. 监控多个pid信息

同时监控CPU、内存、磁盘读写。指定某个PID使用-p,指定多个PID使用逗号分隔
pidstat -urd -p 13,20,13152 1 3 #1表示每隔1秒输出一次,3表示共输出3次

3. 随手shell

#!/bin/bashHelp(){echo -e "Usage: $0 [ options ] [ <interval> [ <count> ] ]"echo -e "\t -a: Monitoring all processes"echo -e "\t -p{pid}: Specify the pid"echo -e "\t -k: Kill pidstat"}Main(){local log="`pwd`/logs"[ ! -d ${log} ] && mkdir -p ${log}[ "$1" == "p" ] && options="-p $2 $3 $4" || options="$1 $2"# 输出CPU信息到logs/cpu.logpidstat -u ${options}   > ${log}/cpu.log        &# 输出内存信息到memory.logpidstat -r ${options}   > ${log}/memory.log     &# 输出磁盘读写到disk.logpidstat -d ${options}   > ${log}/disk.log       &# 上下文切换到context.logpidstat -w ${options}   > ${log}/context.log    &}case $1 in
-a)Main $2 $3;;
-p)Main p "$2" $3 $4;;
-k)ps -ef |grep "pidstat" |grep `whoami` |grep -v grep |awk '{print $2}' |xargs kill -9;;
*)Help
esac

意义:
同时监控CPU、内存、磁盘、上下文切换信息,输出到不同文件中

作用:
当某个时间段性能出现损耗,可以通过此脚本查看进程的使用情况

使用:
sh xxx.sh -a 1 86400 # xxx.sh表示脚本名,每1秒输出一次,共监控一天
sh xxx.sh -p 123,321 1 86400 # xxx.sh表示脚本名,-p指定单个或多个pid(多个使用逗号分隔),只监控指定的pid。每1秒输出一次,共监控一天
sh xxx.sh -k # 停止pidstat命令

4. 其他性能监控命令

Linux性能监控命令_top & 实时监控主机信息

Linux性能监控命令_sar & 自动保存30天历史信息

Linux性能监控命令_vmstat & 同时监控cpu、内存、磁盘、分页

Linux性能监控命令_iostat & 监控I/O状态

这篇关于Linux性能监控命令_pidstat 统计进程信息的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/208600

相关文章

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx