Ubuntu或Centos中的prstat

时间:2015-08-05 03:24:43

标签: linux performance ubuntu centos

正如 Java Performance 所说:

  

Solaris prstat具有其他功能   例如报告用户和内核或系统CPU利用率以及其他   使用prstat -m和-L选项的microstate信息。 -m选项打印   微观状态信息,-L打印每个轻量级进程的统计信息。

在Centos或Ubuntu中有prstat可用的工具吗?

2 个答案:

答案 0 :(得分:3)

我相信您正在寻找的Linux命令是顶部 pstree

这是Linux的 ptree

#!/bin/sh
# Solaris style ptree

[ -x /usr/bin/ptree ] && exec /usr/bin/ptree "$@"

# Print process tree
# $1 = PID : extract tree for this process
# $1 = user : filter for this (existing) user
# $1 = user $2 = PID : do both

PATH=/bin:/usr/bin:/usr/sbin:/sbin
export PATH

psopt="-e"
case $1 in
[a-z]*) psopt="-u $1";shift;;
esac

[ -z "$1" ] &&
exec ps $psopt -Ho pid=,args=

#some effort to add less to the ps list
tmp=/tmp/ptree.$$
trap 'rm $tmp' 0 HUP INT TERM
ps $psopt -Ho pid=,args= >$tmp
<$tmp awk '
{ ci=index(substr($0,7),$2); o[ci]=$0 }
ci>s[a] { s[++a]=ci }
$1==pid {
    for(i=1;i<=a;i++) {
            si=s[i]; if(si<=ci) print o[si]
    }
    walkdown=ci
            next
}
ci<walkdown { exit }
walkdown!=0 { print }
' pid="$1"

答案 1 :(得分:0)

Linux中没有prstat“等效”工具。您可以使用top和ps(或/ proc / $ pid / resources)的组合来获得一些有用的结果;也许写一个shell脚本(使用grep,sed和awk),它收集上述命令和文件的结果。 仅供参考,我发现这个链接有关top命令和内核,用户和空闲CPU利用率的内容

http://blog.scoutapp.com/articles/2015/02/24/understanding-linuxs-cpu-stats

希望这会有所帮助。