[Решено] free показывает, что памяти не оталось, но всё работает [так и должно быть на vds]

Когда админы локалхостов пытаются становиться админами чего-то более удалённого, у них иногда возникают интересные и даже забавные проблемы.
Итак, после запуска Апача на свежеарендованном сервачке имеется следующая картина:
[email protected]:~# free
             total       used       free     shared    buffers     cached
Mem:        409600     409600          0          0          0          0
-/+ buffers/cache:     409600          0
Swap:            0          0          0
При этом всё работает: сайт бодренько грузится, ssh откликается, mc / vim запускается. Как?

P.S. Это, конечно, не Арч ни разу, а Дебиан, причём шестёрка и x64, но всё равно интересно.
Сервер виртуальный? С каким лимитом памяти?
Виртуальный, 400, на openvz.
lampslave, а кто вам сказал, что на OpenVZ команда free вообще должна показать что-то осмысленное?
Там совсем другие принципы учёта и лимитирования памяти, статистика в совсем другом месте.

Внутри контейнера OpenVZ статистика отображается в псевдофайле /proc/user_beancounters
У меня даже есть вот такой скрипт, выбирающий оттуда нужные параметры в несколько более удобочитаемом виде.
/usr/local/bin/vzmem
#!/bin/bash
pag(){
 pg=$2
 echo -n $1 $((pg*4))"k "
}
byt(){
 bt=$2
 echo -n $1 $((bt/1024))"k "
}
echo "  Memory review from OpenVZ User beancounters"
read VEID a b ip < /proc/vz/veinfo
echo "   for VEID=$VEID IP=$ip"
while read str; do
 set $str
 if [ "$1" = "$VEID:" ] ; then shift; fi
 case $1 in
 'oomguarpages')
  pag Used: $2; pag Peak: $3; pag Guar: $4; echo
  ;;
 'physpages')
  pag Phys: $2; echo
  ;;
 'privvmpages')
  pag Alloc: $2; pag aPeak: $3; pag Barr: $4; pag Limit: $5; echo Fails: $6
  ;;
 'shmpages')
  pag Shared: $2; pag shPeak: $3; pag shLimit: $4; echo
  ;;
 'kmemsize')
  byt kMem: $2; byt kPeak: $3; byt kBarr: $4; byt kLimit: $5; echo kFails: $6
  ;;
esac
done < /proc/user_beancounters
Недостаток – работает только под рутом. Хотя в принципе, можно через sudo переделать.
lampslave, а кто вам сказал, что на OpenVZ команда free вообще должна показать что-то осмысленное?
Мне просто никто не сказал обратное. Теперь буду знать, спасибо.
Хотя я уже должен был почувствовать подвох, когда в первой выдаче free получил всего 18 занятых мегабайт :)

За скрипт тоже спасибо, а что касается рута - я не думаю, что "бесправный" пользователь мне в ближайшее время понадобится, потому что кроме апача с мускулем там крутиться ничего не будет. Глубоко в них я пока тоже не полезу, а для безопасности ssh просто сделаю вход только по ключу. Я, может быть, что-то упускаю по своему обыкновению?
Может понадобится, может нет – вам виднее :)
Лично я всегда заводил пользователя с доступом ко всему "контенту", как по SSH, так и по FTP.
 
Зарегистрироваться или войдите чтобы оставить сообщение.