怎么看看哪些进程让我的服务器变慢?

我的服务器上的所有网站都非常缓慢或根本没有加载。 即使服务器pipe理员(Plesk)也不会加载一些时间。

几个月来的最后一次磕碰都没有改变。

我怎样才能看到哪些进程使我的服务器变慢?

我的环境如下所示:

服务器:运行Linux 2.8.x的VPS
操作系统:Centos 5
pipe理界面:Plesk 9.x
内存:1024MB
CPU:2.2GHz

我的网站运行在PHP和MySQL上。

我终于设法telnet(腻子+ SSH)到我的服务器。 运行top没有显示任何使用超过最大2%的CPU的进程,并且没有使用缓冲存储器。

我也有一个朋友安装一个程序,检查核心文件,一切似乎很好。

所以我倾向于networking问题或其他服务器故障。 但我无法找出什么是错的。

下面是Sean Kimball的一些答案:

  • 我不在我的服务器上运行邮件服务
  • 有特定的带宽峰值。

Prefork看起来像这样

 <IfModule prefork.c> StartServers 8 MinSpareServers 5 MaxSpareServers 20 ServerLimit 256 MaxClients 256 MaxRequestsPerChild 4000 </IfModule> 
  • 不知道你的意思是与DNS的问题。 但是我认为它正在运行。
  • 没有进程狂奔
  • 我在哪里可以find平均负载?

    Telnet被禁用,我必须使用SSHlogin:)

你能告诉我们更多关于你的环境 – ram,cpu,这是一个虚拟机,plesk版本..等等。另外,它只是Apache,慢,邮件,FTP,DNS等都一切正常?

  • 检查你的邮件队列[qmqtool是非常好的]
  • 检查你的带宽和吞吐量,是否有一个高峰
  • 如果这是一台虚拟机,则应该能够使用virtuozzo工具进行故障排除
  • 你调整了你的apacheconfiguration吗? 具体这个部分:

    <IfModule prefork.c>

     StartServers 2 MinSpareServers 2 MaxSpareServers 5 ServerLimit 200 MaxClients 200 MaxRequestsPerChild 4000 

    </ IfModule>configuration

  • DNS,它正在运行? 请您的货代回答问题。

  • ps -ax,你不能识别的奇怪进程?
  • 你的平均负载在任何时候是什么样的?

最后,与你的问题无关,让SSH工作和closurestelnet – 请godssakes!

你可以看到你的平均负载运行uptime运行uptime

由于您的服务器是VPS,CPU功率可能不完全属于您,其他用户的操作(与您的VPS使用相同的硬件)可能会影响您的服务器。 我自己体验到了这一点。

另一个支票可能是iotop

如果你不能远程进入,你可以通过控制台进入吗? top会有所帮助,将通过cpu给sorting的进程,当顶部内部将按最高的内存使用sortingM。

输出看起来像 在这里输入图像说明

我不知道Plesk是否有用于监控的实用程序。 您可以使用Web界面安装监控软件。

http://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems

Plesk会给你任何性能/状态信息吗?

如果你仍然可以上传文件到你的web服务器上,你可以尝试上传一个文件来执行shell命令并显示输出。

例如,你可以试试这个:

 <?php exec('TERM=xterm /usr/bin/top n 1 b i', $top, $error ); echo nl2br(implode("\n",$top)); if ($error){ exec('TERM=xterm /usr/bin/top n 1 b 2>&1', $error ); echo "Error: "; exit($error[0]); } ?> 

由于这是作为您的networking服务器的用户运行,你不会看到一个完整的进程列表,但你可以看到一些系统信息(CPU,Mem和交换使用,负载等)。 这可能会给你更多的信息来解决这个问题。