Назад | Перейти на главную страницу

Физическая память сервера при максимальном использовании (1 ГБ), стоит ли беспокоиться?

У меня есть веб-сервер (Solaris), на котором запущены apache, mysql и nodejs. Он постоянно приближается к максимальному использованию физической памяти 1 ГБ, вот пример от virtualmin:

Webmin version  1.520   
Virtualmin version  3.81.gpl GPL 
Theme version       7.8     
Time on server  28/Jun/2011 17:58 Kernel and CPU    SunOS 5.11 on i86pc      
CPU load averages   2.21 (1 min) 2.16 (5 mins) 2.07 (15 mins)
Running processes   141      
Real memory 1024 MB total, 934 MB used 
Virtual memory  2 GB total, 1.29 GB used 
Local disk space    16.13 GB total, 2.86 GB used

а вот образец из верхней команды:

load averages:  2.44,  2.39,  2.19;   
up 3+22:11:31   18:02:47 142
processes: 140 sleeping, 2 on cpu CPU
states: 76.3% idle, 16.1% user,  7.6%
kernel,  0.0% iowait,  0.0% swap
Memory: 32G phys mem, 1072M free mem,
76G total swap, 76G free swap PID

После поиска в Google "использование памяти сервера solaris" я думаю, что все будет в порядке, если мое пространство подкачки не заполнено? Но я не слишком уверен и хотел получить информацию о моей ситуации.

Хорошая операционная система всегда использует как можно больше оперативной памяти, чтобы избежать задержки доступа к диску. Нагрузка на сервер более 2 может быть поводом для беспокойства, если процессор только один, но использование ОЗУ без необходимости подкачки не является проблемой.

В Solaris не будет пакета procps, необходимого для запуска free, поскольку в нем используются функции ядра Linux.

Для просмотра использования памяти сервера Solaris в этом вопросе StackOverflow повторяются почти все возможные методы: Способы просмотра использования памяти в Solaris

top будет одним из ваших лучших вариантов здесь, так как вы легко сможете увидеть, кто использует память, и стоит ли вам вообще беспокоиться.

Я очень рекомендую такое программное обеспечение, как sar или collectd для ведения журналов использования памяти и ЦП для целей планирования емкости.

Что означает «бесплатно» в подсказке? Использование памяти всегда будет на максимальном или почти максимальном уровне в современных ОС, потому что неиспользуемая оперативная память - это пустая трата. ОС будет незаметно занимать столько памяти, сколько сочтет целесообразным, и использовать ее для буферов / кешей и прозрачно уничтожать эти кеши, когда память требуется процессам. У меня сейчас нет доступа к Solaris, но вот «бесплатный» вывод из моего Linux-сервера:

             total       used       free     shared    buffers     cached
Mem:       2058188    2003372      54816          0     183784    1620076
-/+ buffers/cache:     199512    1858676
Swap:      1052248          0    1052248

2 ГБ оперативной памяти, а "свободно" - всего 54,8 МБ. Но как только вы удалите буферы / кеш, для программ будет доступно 1,85 ГБ.

Я также настоятельно рекомендую использовать sar, чтобы вы все время отслеживали, что происходит. Объем выделенной памяти не имеет значения. Важно то, замедляется ли система из-за нехватки памяти. Вы в значительной степени хотите, чтобы столбец «pgscan / s» из «sar -g» всегда был равен 0. Пейджинг просто больше не является полезным способом расширения памяти.