LINUX.ORG.RU
ФорумAdmin

[FreeBSD] Где мои мозги?

 


0

1

Короче телега такова: Сервак, FreeBSD 8.1-RELEASE-p2 amd64, все на ZFS.

Строчка из top:

Mem: 4706M Active, 819M Inact, 1905M Wired, 32M Cache, 356M Free

Мой небольшой скрипт, считающий реально используемую память:

list=`ps -axuHwww | awk '{print $6}'`

allmem=0

for i in $list; do
 allmem=$(($allmem + $i))
done

echo $allmem

выдает 2358884 Kb что приблизительно равняется 2.4Гб.

Вопрос: почему если суммировать RSS-колонку из вывода ps, мы получаем 2.4Гб реально занятых мозгов, а в top видно что реально занятых: Mem: 4706M Active

или я чего-то не понимаю?

★★★★★

А команды free в этих ваших бсд нет что ли?

madgnu ★★★★★
()
Ответ на: комментарий от adriano32

в том и дело что нет. ZFS свои кеши держит в wired. Active к ней отношения не имеет.

А команды free в этих ваших бсд нет что ли?

[root@server /usr/ports/sysutils/freecolor]# make install clean
===>  freecolor-0.8.8 is marked as broken: Does not function correctly on !i386.
*** Error code 1

Stop in /usr/ports/sysutils/freecolor.

:( fail

Komintern ★★★★★
() автор топика

Hi,

I have a question, top on freebsd displays active, inactive and wired memory.
Since kernel memory has to be non-pageable isn't it that user process
resident memory should be active + inactive?


No. 'Inactive' can (and usually does) include memory that was used by
processes that are no longer running.


However I see some discrepancy. For eg. active is 34M, inactive 116M.
top -s 100 gives me resident sizes of all processes, if I sum them up it
comes to about 75M. So where is the rest of 116+34-75 = 75M?


Keep in mind that the resident size of a process (as displayed by top(1) or
ps(1)) includes any shared libraries it is using.
Memory for shared libraries can however be shared between several different
processes. If you have several instances of the same program running at the
same time their codepages are usually shared.

This means that the total memory used by a set of processes is usually
*less* then the sum of their size as displayed by ps(1) or top(1).



--

Erik Trulsson
ertr1013@xxxxxxxxxxxxx

http://unix.derkeiler.com/Mailing-Lists/FreeBSD/questions/2006-04/msg02254.html

zgen ★★★★★
()

Mem: 29M Active, 17M Inact, 3323M Wired, 1564K Cache, 508M Free

162072

zgen ★★★★★
()
Ответ на: комментарий от zgen

> This means that the total memory used by a set of processes is usually
*less* then the sum of their size as displayed by ps(1) or top(1).

очень рад, что такова теория. но у меня сумма получается гораздо меньше, чем Active Memory. или я опять что-то не понял?

Komintern ★★★★★
() автор топика
Ответ на: комментарий от zgen

=) с вашего позволения, можно хотя бы пример запроса? я теряюсь на какую тему гуглить. мне кроме memory leaks на ум ничего не приходит.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от zgen

ладно. допустим что это нормальное поведение. тогда откуда берется использованый SWAP??

last pid: 72385;  load averages:  0.47,  0.38,  0.34                                                                                  up 45+16:39:14  09:30:08
296 processes: 10 running, 256 sleeping, 30 waiting
CPU:     % user,     % nice,     % system,     % interrupt,     % idle
Mem: 3604M Active, 2133M Inact, 1791M Wired, 253M Cache, 38M Free
Swap: 8192M Total, 1386M Used, 6806M Free, 16% Inuse

Komintern ★★★★★
() автор топика

Сообщаю для всех у кого может возникнуть подобная проблема. На сервере крутился apache22 + mpm-itk + php5.2.16 + xcache. Проблема была в последнем, и судя по всему всякие eaccelerator-ы и прочие opcode-кешеры не работают нормально с mpm-itk. Отключил xcache, использование памяти нормализовалось:

last pid: 79869;  load averages:  0.11,  0.23,  0.28                                                                                  up 51+14:44:24  07:35:18
278 processes: 9 running, 239 sleeping, 30 waiting
CPU 0:  1.6% user,  0.0% nice,  3.1% system,  0.0% interrupt, 95.3% idle
CPU 1:  0.0% user,  0.0% nice,  2.3% system,  0.0% interrupt, 97.7% idle
CPU 2:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 3:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 4: 29.2% user,  0.0% nice, 10.0% system,  0.0% interrupt, 60.8% idle
CPU 5:  0.8% user,  0.0% nice,  0.0% system,  0.0% interrupt, 99.2% idle
CPU 6:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
CPU 7:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% idle
Mem: 565M Active, 1300M Inact, 2554M Wired, 113M Cache, 3287M Free
Swap: 8192M Total, 42M Used, 8150M Free

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

Резюме

всякие eaccelerator-ы и прочие opcode-кешеры не работают нормально с mpm-itk. Отключил xcache, использование памяти нормализовалось

Другими словами, все эти виндовозные штучки, которые нужны в винде, не помогают в работе на Unix, а только мешают.

iZEN ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.