【发布时间】:2014-11-11 09:18:41
【问题描述】:
我已经安装了 Debian jessie。
内核版本:
Linux srv1 3.16-3-amd64 #1 SMP Debian 3.16.5-1 (2014-10-10) x86_64 GNU/Linux
它安装了 32Gb 内存。对于我的任务来说,这似乎已经足够了。 大量使用星号进程会泄漏大量内存并产生很多麻烦。
Asterisk 本身和 bash 不时报告“无法分配内存”。
同时基于附加的顶级报表服务器有 7 Gb 未使用的内存。
如果有人能帮助找出问题所在,那就太好了: - 用尽了哪些资源 - 100% 服务器资源利用率需要调整什么。
顶部:
任务:总共 130 个,1 个正在运行,129 个正在休眠,0 个停止,0 个僵尸
%Cpu0 : 6,0 us, 1,3 sy, 0,0 ni, 21,5 id, 70,8 wa, 0,0 hi, 0,3 si, 0,0 st
%Cpu1 : 70,2 us, 0,3 sy, 0,0 ni, 24,8 id, 4,6 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu2 : 3,0 us, 0,7 sy, 0,0 ni, 84,6 id, 11,7 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu3 : 6,9 us, 0,7 sy, 0,0 ni, 78,2 id, 14,2 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu4 : 3,3 us, 0,7 sy, 0,0 ni, 84,3 id, 11,7 wa, 0,0 hi, 0,0 si, 0,0 st
%Cpu5 : 4,0 us, 0,7 sy, 0,0 ni, 90,1 id, 5,3 wa, 0,0 hi, 0,0 si, 0,0 st
KiB 内存:总共 32985292 个,已使用 25834636 个,可用 7150656 个,38312 个缓冲区
KiB 交换:总共 58592252,使用 1767420,免费 56824832。 37988 缓存内存
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令
7615 星号 20 0 3147628 2,813g 1820 S 69,8 8,9 5:35.84 php
2389 星号 20 0 20,150g 1,207g 2176 S 28,5 3,8 247:42.19 星号
976 mysql 20 0 1411844 19392 2624 S 1,3 0,1 15:13.28 mysqld
21651 根 20 0 24876 2824 2316 R 0,7 0,0 0:02.08 顶部
...
【问题讨论】:
-
你可以有很多空闲内存,但是当程序分配内存时,它需要是连续的。如果没有足够大的连续块,分配失败。
-
-bash-4.3# cat /proc/buddyinfo 节点 0,区域 DMA 0 1 0 0 2 1 1 0 1 1 3 节点 0,区域 DMA32 815 785 3993 4256 3637 1256 304 136 93 62 101节点0,区域正常15585 15152 55528 60323 53519 20439 4979 2021 982 721 2081