标签: top

使用 top 命令的 cron 脚本和 TERM 定义的问题

我在执行 cron 进程以检查服务器中当前的 CPU 使用情况时遇到问题。

我的脚本开始于:

top -c -n 1 -u www-data > /tmp/kill-cpu
Run Code Online (Sandbox Code Playgroud)

我可以在控制台中毫无问题地执行,但在 cron 中我得到

顶部:tty 获取失败

如果我使用 -b 选项到顶部

top -b -n 1
Run Code Online (Sandbox Code Playgroud)

我得到

'dumb':未知终端类型。

我使用 xterm 作为 TERM

感谢您的帮助 :)
Lito。

解决方案:我能够通过以下方式解决问题:

ln -s /lib/terminfo/d/dumb /usr/share/terminfo/d/dumb
Run Code Online (Sandbox Code Playgroud)

top term cron xterm

12
推荐指数
1
解决办法
1万
查看次数

对 Unix 'top' 命令中的 CPU 值感到困惑

在下面的屏幕截图中,整体 CPU 被报告为 3%,但 mysqld 进程被报告为使用 57%。这是总 3% 的 57%,因此 mysqld 只使用了大约 1.5% 的 CPU?

顶部截图 http://img.skitch.com/20090620-cih33piwnnrke6aw41y9p1phwr.jpg

更新:下面的评论者要求我按“1”键并发布结果: 1 键 http://img.skitch.com/20090620-gayja43s44qtw2wkw4aq642e8c.jpg

unix central-processing-unit top

11
推荐指数
1
解决办法
5207
查看次数

为什么 top 报告的 CPU 使用率与 CloudWatch 不同?

top显示高峰时段的平均 CPU 使用率约为 20%,而 CloudWatch 监控显示平均 CPU 使用率为 40%。造成这种差异的原因是什么?

top amazon-web-services amazon-cloudwatch

11
推荐指数
1
解决办法
1万
查看次数

批处理模式的顶部,每个核心都需要 CPU%

我知道在运行 top 之后,我可以按下1并获取 CPU 及其利用率百分比的列表。我怀疑我也可以使用 -b 选项在批处理模式下执行此操作,但我不知道如何操作,并且在手册中找不到它。

我需要定期从 python 程序中读取它,所以它必须处于批处理模式。

linux multi-core top process

10
推荐指数
1
解决办法
1万
查看次数

为什么ec2监控显示100% cpu而top只有20%?

我在 ec2 实例上运行 python 脚本,该脚本在另一个实例的数据库中插入行。在 ec2 的监控中,我看到 100% 的 cpu 利用率,而 top 仅显示 python 进程的 20%。顶部缺少什么?网络开销?

top amazon-ec2

10
推荐指数
1
解决办法
1万
查看次数

iowait 的百分比是多少被认为是高的?

当 iowait 被认为是高的?

iostat -x

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2,89    0,01    5,45   49,83    0,00   41,83

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
fd0               0,00     0,00    0,00    0,00     0,00     0,00     8,00     0,00   40,00  40,00   0,00
sda               0,18     0,86    2,82    0,60   181,20    21,92    59,35     0,03   10,22   5,02   1,72
sdb               3,96    39,67    6,27   20,94  2243,04   564,37   103,16     0,24    8,83   6,57  17,89
sdc              69,17     0,02   77,40   21,92 37365,20  1578,42   392,10     1,53   15,44   7,46  74,14
sdd               0,64 …
Run Code Online (Sandbox Code Playgroud)

top iowait iostat

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

如何在 Linux 上增加终端的大小

我有一个 48 核的 linux 机器。我想监控每个核心 cpu 的使用情况。但是,当我使用 top并按下时,1我收到一条错误消息"Sorry, terminal is not big enough" ,无论如何我可以增加终端窗口的大小。我的笔记本电脑可以做的最大(腻子)大约是 46 行。在 putty 或 shell 的 ROWS 变量中增加窗口大小没有帮助。

linux terminal top

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

在 FreeBSD 上查找哪个进程不断从磁盘读取数据

编辑:这最终成为一个清理过程。运行zpool status -v并清楚地读取池的扫描状态。

我有一台运行 FreeBSD 的 TrueNAS 服务器,今天早上 12 点,磁盘开始不断被读取。我认为这是一些快照任务,因此我禁用了快照并重新启动服务器,但每次重新启动服务器时,它都会继续从我的存储池中读取。我也停止了所有正在运行的监狱,磁盘仍然显示 IO(下面的屏幕截图是监狱正在运行,但它们看起来与监狱停止时相同)。

在此输入图像描述

我无法弄清楚哪个进程导致了这个问题。我尝试使用top -m io,但这显示没有读/写活动。

在此输入图像描述

根据这个资源top -m io在 FreeBSD 上不起作用,所以我无法找出哪个进程正在从我的磁盘读取数据:

顶级 io 模式无法正确显示统计信息

我尝试使用 检查是否有任何正在运行的快照任务ps -aux | grep rsync,但除了我的 grep 命令之外没有任何显示。

这是我检查过的一些资源:

是否可以让 top 命令工作?我只想知道哪个进程正在从我的磁盘读取数据并将其杀死。

freebsd io top truenas

9
推荐指数
1
解决办法
757
查看次数

如何在 Redhat Linux 上对虚拟内存的最高结果进行排序?

有一个交互键“M”可以按内存排序,好像是在常驻内存上排序。有没有办法对虚拟内存进行排序?我碰巧在 Redhat Linux 上工作,但问题并非特定于该发行版。

linux redhat top virtual-memory sort

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

您如何衡量一组分叉进程的内存占用量?

假设我有一个使用 200MB 内存的进程,它 fork()s:

python -c "import os; data='x'*200000000; os.fork(); raw_input()"
Run Code Online (Sandbox Code Playgroud)

像“top”这样的程序将显示每个进程使用 200MB,而 SHRd 内存很少,因此看起来好像这些进程总共使用了 400MB。但是,因为 fork() 为进程的内存页实现了写时复制 (COW),所以实际情况是进程总共只使用了 200MB。

为什么 top 不显示 COW 的内存比例?有没有办法让它这样做?或者我可以使用另一个命令吗?

注意:OSX 上的“top”似乎有一个 RSHRD 列,可以满足我的期望。我的问题是针对 Linux。

linux memory top virtual-memory

8
推荐指数
1
解决办法
2640
查看次数