标签: top-command

在*nix中,什么导致顶级命令中的"睡眠"?

是什么导致sleeping我看到这些过程top?如果我要调用PHP的sleep()函数,那会增加sleeping我看到的计数top吗?拥有高数字是否有任何缺点sleeping

php unix linux process top-command

15
推荐指数
2
解决办法
3万
查看次数

RES!= CODE + DATA在top命令的输出信息中,为什么?

'man top'所说的是:RES = CODE + DATA

q: RES -- Resident size (kb)
The non-swapped physical memory a task has used.
RES = CODE + DATA.

r: CODE -- Code size (kb)
The amount of physical memory devoted to executable code, also known as the 'text        resident set' size or TRS.

s: DATA -- Data+Stack size (kb)
The amount of physical memory devoted to other than executable code, also known as the   'data >resident set' size or DRS.
Run Code Online (Sandbox Code Playgroud)

当我运行'top -p 4258'时,我得到以下内容: …

linux memory top-command

14
推荐指数
1
解决办法
9302
查看次数

顶级批处理模式下的CPU使用率

我有一个让我发疯的问题.我使用以下命令在批处理模式下运行top,

top -b -n 1

问题是我可以在批处理模式下运行100次,但CPU使用率永远不会超过原始值.内存使用情况按预期更改,但CPU保持不变.如果我在另一个窗口中同时运行另一个顶部,那么CPU使用率正在改变,但在批处理模式下不是顶部.

基本上,CPU统计数据似乎在批处理模式下不会改变,而在交互模式下也是如此.有谁知道为什么?自己尝试一下,运行上面的命令几次并观察CPU使用情况保持不变,然后在交互模式下运行top并观察CPU使用情况不断变化.

linux command-line top-command

11
推荐指数
2
解决办法
5657
查看次数

top在哪里获得实时数据

哪里top申请获得在Linux上的数据?我会对实时CPU负载/ pid数据感兴趣.(我在/ proc/pid手册页中阅读了所有文档,但信息不存在).

pid是一个jboss.我需要轻量级数据(轻松导出).

linux pid process linux-kernel top-command

10
推荐指数
2
解决办法
4400
查看次数

在Android中描述"top"命令

我正在制作一个小型Android应用程序,以显示当前的总CPU使用率,如Windows任务管理器中的选项卡性能.我使用"top -m 1 -n 1 -d 1"来获取CPU使用率,但我并不真正理解"top"的结果.

结果如:

User 5%, system 15%, IOW 0%, IRQ 0%
User 5 + Nice 0 + Sys 14 + Idle 73 + IOW 0 + IRQ 0 + SIRQ 0 = 92
PID     CPU%  S   #THR    VSS    RSS    UID     Name
213     11%   R    1      900K   340K   app_16   top
Run Code Online (Sandbox Code Playgroud)

CPU使用率= ??? 我如何计算总CPU使用率?

android memory-management cpu-usage top-command

8
推荐指数
2
解决办法
2万
查看次数

top命令的CPU使用率计算

我正在尝试使用GNU coreutil top的公式计算CPU使用率百分比.但是top使用了一些half_total来计算百分比,即百分比增加0.5.

在top的源代码的 utils.c中,以下行(3.8 beta1,行号:459): -

*out ++ =(int)((*diffs ++*1000 + half_total)/ total_change);

这转换为:((*diffs ++*1000)/ total_change)+ 1/2因此,它总是给出一个数字,即:"10倍百分比,再加上0.5".因此,如果百分比为x,则返回10x + 0.5.

谁能解释这个平均值是如何计算的?或至少有一些指针,我可以得到帮助?

PS:为什么我们不能(*diffs++/total_change) * 100用来获得所需的百分比?

Top的源代码位于: - http://downloads.sourceforge.net/unixtop/top-3.8beta1.tar.gz?modtime=1210117842&big_mirror=0

linux cpu gnu-coreutils top-command

6
推荐指数
1
解决办法
6795
查看次数

如何抑制top命令的一般信息

我希望使用a来压缩top命令的一般信息top parameter.

一般信息我的意思是以下内容:

top - 09:35:05 up  3:26,  2 users,  load average: 0.29, 0.22, 0.21
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
Cpu(s):  2.3%us,  0.7%sy,  0.0%ni, 96.3%id,  0.8%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   3840932k total,  2687880k used,  1153052k free,    88380k buffers
Swap:  3998716k total,        0k used,  3998716k free,   987076k cached
Run Code Online (Sandbox Code Playgroud)

不想做的是:

top -u user | grep process_name
Run Code Online (Sandbox Code Playgroud)

要么

top -bp $(pgrep process_name) | do_something
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

注意:我在Ubuntu 12.04上,顶级版本是3.2.8.

bash top-command

6
推荐指数
3
解决办法
3754
查看次数

top命令第一次迭代总是返回相同的结果

运行top -b -n 1时,该命令始终返回相同的CPU值.连续5次考虑以下测试运行:

[user@server ~]$ top -b -n 5 -d.2 | grep "Cpu(s)"
Cpu(s): 18.5%us, 10.0%sy,  0.0%ni, 67.0%id,  4.2%wa,  0.0%hi,  0.2%si,  0.1%st
Cpu(s): 39.8%us, 27.7%sy,  0.0%ni, 31.3%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Cpu(s): 39.0%us, 35.4%sy,  0.0%ni, 23.2%id,  0.0%wa,  0.0%hi,  1.2%si,  1.2%st
Cpu(s): 41.2%us, 34.1%sy,  0.0%ni, 15.3%id,  1.2%wa,  0.0%hi,  2.4%si,  5.9%st
Cpu(s): 59.0%us, 30.1%sy,  0.0%ni,  4.8%id,  0.0%wa,  0.0%hi,  3.6%si,  2.4%st
[user@server ~]$ top -b -n 5 -d.2 | grep "Cpu(s)"
Cpu(s): 18.5%us, 10.0%sy,  0.0%ni, 67.0%id,  4.2%wa,  0.0%hi,  0.2%si,  0.1%st
Cpu(s): 18.9%us, …
Run Code Online (Sandbox Code Playgroud)

linux centos5 admin batch-file top-command

5
推荐指数
3
解决办法
4506
查看次数

Macosx中的top -H选项

在Unix/Linux中,top命令具有-H选项,以提供有关进程内线程的更多详细信息.在Macosx上似乎没有-H选项!Macosx有类似的东西吗?

linux macos top-command

5
推荐指数
1
解决办法
3216
查看次数

在线程中运行'top'会产生SIGTTOU

由于我不打算进入的原因,我需要在FreeBSD 8.1上的Python线程的子进程中运行'top -m io -d 2 10'的变体.麻烦的是,似乎有时会产生SIGTTOU(在某些依赖于代码的条件下,我还没有破译),完全停止顶部和线程.其他时候,似乎没有生产SIGTTOU,但无论如何顶部或线程都会卡住.

top的输出应该为系统中的前10个进程生成两组IO统计数据,其中第一组是"绝对"数字,第二组是自上一组以来的统计数据的增量差异,比之前提前一秒.在终端或shell脚本中运行此命令,无论是否重定向输出,都可以正常工作.

当问题发生时,似乎'top'写入第一组输出,但在它输出第二组之前挂起/接收SIGTTOU.在下面的示例代码中,只有一组进程统计信息被写入输出文件.

我在'truss'下发现了运行python脚本的SIGTTOU信号,但似乎'truss'和'top'之间的交互本身可能是一个混乱的问题,因为简单的运行truss top -d 2产生信号并挂起,如下所示:

...
ioctl(1,TIOCGETA,0xffffe460)             = 0 (0x0)
ioctl(1,TIOCGETA,0xc6b138)           = 0 (0x0)
ioctl(1,TIOCGETA,0xffffe410)             = 0 (0x0)
ioctl(1,TIOCGWINSZ,0xffffe460)           = 0 (0x0)
ioctl(1,TIOCGWINSZ,0xffffe930)           = 0 (0x0)
ioctl(1,TIOCGETA,0x50e560)           = 0 (0x0)
sigprocmask(SIG_BLOCK,SIGINT|SIGQUIT|SIGTSTP,0x0) = 0 (0x0)
ioctl(1,TIOCGETA,0x50e560)           = 0 (0x0)
SIGNAL 22 (SIGTTOU)
Run Code Online (Sandbox Code Playgroud)

这是一个示例Python脚本,它可以重现hang和/或SIGTTOU:

import subprocess
from threading import Thread

def run():
    with open("top.log", "wb") as f:
        subprocess.Popen(("/usr/bin/top", "-m", "io", "-d", "2", "10"), stdout=f, stderr=f, stdin=subprocess.PIPE).communicate()

if __name__ == "__main__":
    th = …
Run Code Online (Sandbox Code Playgroud)

python multithreading signals freebsd top-command

5
推荐指数
1
解决办法
899
查看次数