有人可以提供关于如何从顶部输出中logging前5行的提示吗? 我正在考虑grep,但不知道如何挑选行。 我需要了解。 有时会冻结服务器。 也许有一些工具呢? 谢谢 ;)
我们正在使用PHP Web应用程序运行CentOS 6。 在我们推出一个新的版本后,似乎我们有一个内存问题,但是top不显示任何高使用率的实例。 我环顾四周,人们build议free检查,以检查它是否正被caching使用。 结果表明,它被caching以外的进程使用。 我想知道哪个方向开始寻找,并有任何build议,如果有的话。 非常感谢 – 马特
以下命令可用于捕获占用最多CPU并存储到文件的当前进程: top -c -b -n 1 > top.log -c标志特别有用,因为它为您提供了每个进程的命令行参数,而不仅仅是进程名称。 没有-c : 2497 root 18 0 11264 5888 1524 S 0.0 0.1 0:03.31 miniserv.pl 用-c (附加有用的命令信息): 2497 root 18 0 11264 5888 1524 S 0.0 0.1 0:03.31 /usr/bin/perl /usr/libexec/webmin/miniserv.pl /etc/webmin/miniserv.conf 问题是每行的输出被截断以适应当前的terminal窗口。 如果可以有一个宽的terminal,这是可以的,因为你有很多的输出,但是如果你的terminal只有165个字符的宽度,每个进程只能得到165个字符的信息,而且通常没有足够的字符来显示完整的进程命令。 当命令在没有terminal的情况下执行时,这是一个特别的问题,例如,如果你通过cron工作来执行命令。 有谁知道如何停止top截断数据或强迫top每行显示一定数量的字符? 这不是紧急的,因为有一个替代的方法来获得CPU使用sorting的前10个进程: ps -eo pcpu,pmem,user,args | sort -r -k1 | head -n 10
我最近在Amazon EC2上的一些Ubuntu服务器(10.04.2)上发现了这个特性(没有在任何物理盒子上注意到这一点),并且不能理解它是如何得到这些数字的。 他们不可能是真实的,因为我确信电脑还没有这么久。 这是EC2 / Xen性质的特征吗? ps aux; USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND –snip– root 2382 356012033 0.1 427264 11512 ? Ss 20:56 17179869:11 /usr/sbin/apache2 -k start root 2678 23695615 0.0 19224 1504 pts/0 S+ 21:02 22212356:09 top –snip– 最佳; PID USER PR NI VIRT RES SHR S %CPU […]
在RedHat 5服务器上,我们看到最高报告交换空间为0k。 vmstat显示相同数量的交换使用,但没有分页。 我们杀了我们唯一的应用程序,顶部仍然报告使用100%的交换。 如果我们重新启动,交换到0k使用。 任何意见:我是否正确解释顶部? 在交换分区中是否真的有一些东西? 你能指出我的文件来解决这个问题吗? 如果不正确,我们可以纠正吗? 更新:Swappiness默认值为60.为了澄清上述情况,在杀死我们的应用程序之后,我们(即非OS拥有的进程)除了我的shell和top本身之外没有任何进程运行,但是继续显示0k自由交换。 我认为top是报告不正确的信息,而不是我们没有空闲的交换空间。 谢谢。
我正在尝试debugging没有响应的Linux vnc会话。 我想我点击了KDE konsole图标,这是vnc会话冻结的时候。 我可以在KDE中看到窗口和菜单,但没有任何反应。 我想知道是否可以知道在最后10分钟内启动的进程持续一个小时,因为那是问题出现的时间。 是否有一个命令可以过滤在开始时间和结束时间之间启动的进程。
我遇到了一个问题,我的一些Ubuntu / Debian服务器不显示传递给rake顶部或ps的参数。 我已经把这个问题跟踪到了/ proc / [pid] / cmdline给出的输出变化。 这是似乎控制ps和top显示的文件。 在正确显示参数的服务器上,cmdline文件的内容类似于: ruby^@/home/user/.rvm/gems/ree-1.8.7-2011.03/bin/rake^@log_file_tailer:run^@ 但是,在不显示rake参数的服务器上,cmdline的输出看起来像 /home/user/.rvm/gems/ree-1.8.7-2011.03/bin/rake^@ ^@^@^@^@^@ 也就是说,该文件的内容是两行,但不包含有关传递给rake的参数的任何信息。 FWIW,我有这两个服务器输出在较不有用的格式(缺乏参数)的cmdline正在运行 Linux版本2.6.32-5-amd64(Debian 2.6.32-46)([email protected])(gcc版本4.3.5(Debian 4.3.5-4))#1 SMP Sun Sep 23 10:07:46 UTC 2012 和 Linux版本3.2.0-23-generic(buildd @ crested)(gcc版本4.6.3(Ubuntu / Linaro 4.6.3-1ubuntu4))#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 有趣的是,这些服务器似乎正确地显示完整的命令行,包括参数,我看到大多数命令,我看到排除耙子。 有谁知道我如何能得到完整的命令行,包括参数,输出到这些服务器上的cmdline? 我非常希望这不需要整个内核的重新编译(我有一点宝贵的经验)。 – 编辑 – 据推测,这是犁耙是负责设置/ proc / [pid] / cmdline的内容,但这并不嘲笑事实,我们正在运行相同版本的耙0.8.7)在服务器上,不会给我们由rake调用的命令行参数。
我正在看Busybox的top命令: Mem: 39444K used, 4404K free, 0K shrd, 0K buff, 24704K cached CPU: 4% usr 7% sys 0% nic 87% idle 0% io 0% irq 0% sirq Load average: 0.02 0.12 0.10 1/172 15422 PID PPID USER STAT VSZ %MEM %CPU COMMAND 628 617 root S 40456 92% 6% ./processA 635 623 root S < […]
我在运行CentOS的虚拟主机服务器上遇到问题。 在过去的一个月中,一个已经正常运行的进程(基于java的)开始在JVM启动时获取内存时出现问题。 我注意到的一个奇怪的事情是,当我开始这个过程时,PID表示它正在使用470MB的RAM,而“已用”内存立即下降超过1GB。 如果我运行“顶级”,所有进程中使用的总体RES就比上面列出的“使用”差了近700mb。 支持人员说,这意味着我的进程有内存泄漏。 我不知道要相信什么,因为我期望内存泄漏只是浪费分配进程的内存,而不是消耗使用“top”不显示的额外内存。 我是一个开发人员,而不是服务器人,所以我向专家求助。 对我来说,如果总的RES内存不加总到“使用”,这表明我的虚拟服务器设置有问题。 我应该怀疑在这种情况下泄漏java进程的内存? 如果我以前free使用: total used free shared buffers cached Mem: 2097152 149264 1947888 0 0 0 -/+ buffers/cache: 149264 1947888 Swap: 0 0 0 free后: total used free shared buffers cached Mem: 2097152 1094116 1003036 0 0 0 -/+ buffers/cache: 1094116 1003036 Swap: 0 0 0 所以看起来好像这个进程正在使用(或正在使用)近1GB的RAM。 由于该进程(基于top仅使用470MB,这是否意味着内核突然使用额外的500MB? […]
我目前在许多其他网站使用的服务器上通过API连接到一个网站。 当我使用terminal命令“顶部”,我可以看到万维网数据是我的服务器运行缓慢的主要罪魁祸首。 如何识别哪个网站提出的API最多? 有没有办法看到万维网数据的引用? 谢谢