我有一台运行 node.js socket.io 服务器 + nginx + mysql + php5-fpm 的 Debian VPS,套接字服务器似乎冻结了,没有消息也没有错误。我注意到内存使用量随着时间的推移而增加,但似乎找不到原因。我使用“top”命令跟踪内存使用情况,这就是我发现的,但在我检查时内存并没有增加。
顶部 - 09:31:08 启动 10 天,13:07,2 个用户,平均负载:0.24、0.43、0.41 任务:总计 47 个,1 个正在运行,46 个正在休眠,0 个已停止,0 个僵尸 %Cpu(s):14.5 us,2.0 sy,0.0 ni,83.5 id,0.0 wa,0.0 hi,0.0 si,0.0 st KiB 内存:总计 2097152 个,已使用 857692 个,可用 1239460 个,0 个缓冲区 KiB 交换:总计 524288 个,已使用 22772 个,可用 501516 个,已缓存 482564 个
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令
13585 根 20 0 972米 259米 10米 S 16.6 12.7 3:28.32 节点
4702 mysql 20 0 529m 81m 8032 S 15.6 4.0 114:48.94 mysqld
13681 www-数据 20 0 141m 7812 4428 S 0.3 0.4 0:00.99 php5-fpm
13683 www-数据 20 0 141m 7560 4440 S 0.0 0.4 0:00.35 php5-fpm
13682 www-数据 20 0 141m 6340 3336 S 0.3 0.3 0:00.40 php5-fpm
13375 根 20 0 71232 3632 2812 S 0.0 0.2 0:00.09 sshd
13359 根 20 0 71232 3624 2808 S 0.0 0.2 0:00.05 sshd
1590 绑定 20 0 194m 3548 1876 S 0.0 0.2 0:00.21 命名
3196 根 20 0 99.7m 2880 2340 S 0.0 0.1 0:00.40 smbd
3198 根 20 0 99.7m 2864 2364 S 0.0 0.1 0:00.40 smbd
24840 根 20 0 99.7m 2848 2396 S 0.0 0.1 0:00.89 smbd
13361 根 20 0 17888 2064 1512 S 0.0 0.1 0:00.00 bash
13377 根 20 0 17888 2060 1512 S 0.0 0.1 0:00.00 bash
2394 根 20 0 138m 1796 336 S 0.0 0.1 0:26.30 php5-fpm
2374 www-数据 20 0 80476 1636 688 S 0.0 0.1 10:05.99 nginx
2375 www-数据 20 0 80556 1628 688 S 0.0 0.1 10:11.15 nginx
13680 根 20 0 21600 1468 1068 R 0.0 0.1 0:00.15 顶部
2538 根 20 0 99928 1436 1136 S 0.0 0.1 0:01.81 smbd
1623 根 20 0 109m 1284 600 S 0.0 0.1 0:00.69 rsyslogd
2409 根 20 0 69760 1196 956 S 0.0 0.1 2:51.99 nmbd
2680 根 20 0 21784 1176 660 S 0.0 0.1 0:00.32 屏幕
13365 根 20 0 21556 1168 920 S 0.0 0.1 0:00.00 屏幕
13381 根 20 0 21556 1168 920 S 0.0 0.1 0:00.00 屏幕
2681 根 20 0 17908 1108 820 S 0.0 0.1 0:00.05 bash
2718 根 20 0 17908 1076 788 S 0.0 0.1 0:00.14 bash
2717 根 20 0 21788 1036 628 S 0.0 0.0 0:00.21 屏幕
1 根 20 0 30172 984 488 S 0.0 0.0 0:00.18 初始化
4362 根 20 0 4136 720 580 S 0.0 0.0 0:00.01 mysqld_safe
1727 根 20 0 57828 716 464 S 0.0 0.0 0:21.72 sendmail-mta
4703 根 20 0 4044 676 572 S 0.0 0.0 0:00.00 记录器
1520 根 20 0 18928 456 328 S 0.0 0.0 0:00.84 rpcbind
2644 根 20 0 98.1m 448 292 S 0.0 0.0 0:00.00 smbd
1768 根 20 0 49892 376 260 S 0.0 0.0 0:00.09 sshd
2373 根 20 0 78372 336 136 S 0.0 0.0 0:00.00 nginx
1842 根 20 0 18836 216 140 S 0.0 0.0 0:01.20 cron
由于我对这些事情还不熟悉,我不知道自己在哪里搞砸了,我注意到有 3 个 php5-fpm 进程和 3 个 nginx 进程。我不知道该怎么做,如何阻止内存泄漏,最重要的是如何追踪它,因为当我站着观察“顶部”结果时,没有任何迹象表明内存在增长。