我使用的 VPS 变得慢得令人无法忍受。通过 ssh,更改目录或打开小文件等操作需要 5 秒以上才能完成。但是,只要它不从数据库读取超过几 KB 的数据,托管在其上的网站就可以在合理的延迟下运行。
以下是cat /proc/meminfo
。我不是系统管理员,但我觉得这很可疑。特别是 Active/Inactive 为 0。这是否意味着它没有缓冲任何磁盘读取?那么,这是否(部分?)解释了性能问题?有没有直接的方法可以解决这个问题(我有 root 访问权限,但无法访问托管提供商的控制面板)。
编辑:CPU 利用率大多数时间约为零,似乎不会影响我遇到的问题。
谢谢。
MemTotal: 4190208 kB
MemFree: 3970416 kB
Buffers: 0 kB
Cached: 0 kB
SwapCached: 0 kB
Active: 0 kB
Inactive: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 4190208 kB
LowFree: 3970416 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 0 kB
Mapped: 219792 kB
Slab: 0 kB
PageTables: 0 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 0 kB
Committed_AS: 1243020 kB
VmallocTotal: 0 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
Hugepagesize: 2048 kB
答案1
当服务器运行缓慢时需要进行以下检查:
记忆
free -tom
(将显示可用和已用内存)或者
按照上面的做法去做:)
CPU使用率
top
顶部将显示一些关键信息。查找顶部的以下数字:
load average: 0.00, 0.00, 0.00
下面的文章很好地解释了如何理解这些数字: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
获取进程列表并查看服务是否有多个线程(例如:httpd 或 webserver)
ps awwwwfux | less -S
上述命令非常适合以树状格式查看所有进程
根据似乎出现问题的服务,尝试阅读这些日志以了解可能发生的情况。请记住,日志通常可以在 /var/log/ 下找到