如何通过 SSH 检查一切是否正常运行

如何通过 SSH 检查一切是否正常运行

在此之前,我的服务器正在运行,但 webmin 无法访问,并且网站非常慢。我不知道发生了什么,我只是重新启动。

但我认为最好是知道问题所在,并在不重启的情况下修复它

(我使用 Centos、Lighttpd、MySQL、PHP 和 Webmin)

那么,您知道使用什么命令来检查一切是否通过 SSH 正常运行吗?

谢谢

答案1

要检查一切是否运行正常,首先必须有一个基准。如果不知道什么是基准,普通的你会发现很难弄清楚什么是不寻常的。

您应该偶尔登录系统并运行以下命令。检查输出,花点时间了解命令并了解您的系统是否正常。

  • 顶部 (显示有关任务的信息)
  • 状态监测(报告虚拟内存统计信息)
  • 自由的 (显示系统中可用和已用内存量)
  • 特区 (系统活动报告)
  • 自由度-h(磁盘使用情况(以块为单位))
  • 自由度-hi-(磁盘使用情况,单位为 inode)
  • iotop-(类似 top 的 I/O 监视器)
  • tcpdump-qn-(转储网络流量)

定期检查日志文件/var/log。这样做是必要的,因为这样您就会知道在遇到问题时应该忽略什么。

理想情况下,您应该设置一个网络监控系统来收集上述工具通常收集的数据。

查看有关的其他一些问题故障排除。有几个很好的一般性问题应该可以帮助您入门。

答案2

我通常只是从“top”命令开始,查看当前正在运行的各个进程的状况以及它们正在使用哪种资源。

这是我在 *nix 中使用的,而不是 Windows 中的任务管理器。

答案3

此命令应该告诉您所有正在运行的服务,确保您期望运行的所有服务都正在运行。

service --status-all | less

如果您看到某个服务未运行,或者您只想尝试重新启动可以使用的服务,

chkconfig httpd off
chkconfig httpd on

您还可以使用这两个命令分别检查占用内存和 CPU 最多的设备

ps -auxf | sort -nr -k 4 | head -10
ps -auxf | sort -nr -k 3 | head -10

您可能还想尝试对某些程序运行 strace,看看是否可以从日志中获取任何信息。

答案4

我通常关注

正常运行时间

服务--状态全部|更少

相关内容