我开始在我的 Windows 8 笔记本电脑上使用 Cygwin(64),但是,top无法识别该命令。我已在线阅读我需要获取该procps软件包的信息,但它在“Cygwin 安装程序”软件包选择中不可用。我应该如何安装procps软件包以便我可以使用top?
附:无论出于何种原因ps,kill两者都可以工作,所以我认为top将包含在允许这些人工作的任何包中,但没有top命令。
请参阅下面的示例。Automount 在 TIME+ 列中显示 3019:57。
Tasks: 241 total, 1 running, 240 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.7%sy, 0.0%ni, 98.5%id, 0.0%wa, 0.1%hi, 0.0%si, 0.0%st
Mem: 16435884k total, 15007668k used, 1428216k free, 454300k buffers
Swap: 33554424k total, 140k used, 33554284k free, 1915400k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
**27026 root 15 0 974m 12m 1616 S 3.3 0.1 3019:57 automount**
4619 root 15 0 245m 24m 9444 S 2.0 0.1 3491:25 java
20515 …Run Code Online (Sandbox Code Playgroud) 我正在运行 Debian 风格的 Linux,我使用 htop 来跟踪内存使用情况,因为它比 top 更详细。我似乎无法让它按内存排序并同时显示进程树。有没有办法用 htop 或替代方法来做到这一点?
在 SuSE 下,(内存:总共 31908592k,已使用 31421504k,)我怎么知道哪个进程或程序使用了我的内存?
我想使用 top 或变体从 cygwin shell 监视进程。这样做的原因是它的实时报告和不断更新。但是在 cygwin 下,top 不会报告 windows 进程。
我一直推荐使用的论坛ps -W作为替代方案,但这显然具有不再为我提供实时信息的缺点,而只是在我键入命令时的静态快照。
有什么方法可以top在 cygwin 中工作以显示我的所有进程而不仅仅是 cygwins 进程?
top默认情况下,列出两列。我很好奇有什么区别。我查看了手册页,但无法弄清楚:
优先事项:
h: PR -- Priority
The priority of the task.
Run Code Online (Sandbox Code Playgroud)
不错的价值:
i: NI -- Nice value
The nice value of the task. A negative nice value means higher priority,
whereas a positive nice value means lower priority. Zero in this field
simply means priority will not be adjusted in determining a task’s dis-
patchability.
Run Code Online (Sandbox Code Playgroud)
我知道Nice 值与内核的 CPU 调度程序队列有关;那么优先级是什么意思呢?可能是关于 I/O 的?
不应该使用任何资源(RAM 和 CPU)的僵尸进程正在占用我的 8 核 64 位 Ubuntu 11.10 桌面安装上的整个内核。
这是输出ps -el|grep Z:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 Z 1000 10317 1 99 80 0 - 0 exit ? 19:27:15 java <defunct>
Run Code Online (Sandbox Code Playgroud)
...这里是摘录top:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10317 deltik 20 0 0 0 0 Z 100 0.0 1170:17 java <defunct>
1424 root …Run Code Online (Sandbox Code Playgroud) 如何获得启用多核超线程的 cpu 的真正用途?
例如,让我们考虑一个 2 核 CPU,表示 4 个虚拟核。
单线程工作负载现在将在 中显示为 100% top,因为虚拟核心中的一个核心已被完全使用。CPU 和top按预期工作,就像有 4 个真正的内核一样。
然而,对于两个线程,事情变得很糟糕:如果一切正常,它们就会平衡到两个真实内核,所以我们得到了 200% 的使用率:两次 100% 和两个空闲的虚拟内核,并且正在使用所有可用的 CPU 功率. 对我来说似乎没问题。
但是,如果两个线程在单个真实核心上运行,它们将显示为使用 100% 的两倍,即 200% 的虚拟核心使用率。但在实际情况下,这将是一个内核在两个线程上共享其功率,然后仅使用总 CPU 功率的一半。
所以显示的使用数字top不能用于衡量总 CPU 工作负载。
我也想知道超线程如何在一个真正的核心上平衡两个虚拟。如果两个线程占用不同的周期数,即使实际负载不同,虚拟内核是否会“适应”以便两者都显示 100% 负载?
我正在运行 Mac 并希望过滤top特定进程的命令输出,以便仅显示 PID、COMMAND 和 %CPU 列。
获得进程的PID后,我运行:
top -pid 1234
Run Code Online (Sandbox Code Playgroud)
但是,这会为该过程显示超过 15 列。我可以将“命令”的输出通过管道传输到 awk 并仅显示:
PID COMMAND %CPU
Run Code Online (Sandbox Code Playgroud)
列?
我不想将输出存储在文本文件中然后对其进行处理。我对实时监控流程很感兴趣。