Почему делает мой сервер, только использует 3 ГБ памяти

Сервер имеет 24 ГБ памяти и 4 четырехъядерных CPU. Это выполняет занятый веб-сайт на apache/MySQL/php и иногда дает сообщение, что загрузка сервера слишком высока. Когда я смотрю на журналы, это никогда не использует больше затем 3 ГБ памяти, которая кажется странной также меня. Это могло быть MySQL или апачской установкой.

Здесь некоторые данные

uname -a
Linux s2274 2.6.32-32-server #62-Ubuntu SMP Wed Apr 20 22:07:43 UTC 2011 x86_64 GNU/Linux


free -m
             total       used       free     shared    buffers     cached
Mem:         24153      20951       3201          0        125      17719
-/+ buffers/cache:       3106      21046
Swap:        11240         14      11226

Поскольку Вы видите, что это говорит здесь, что существует используемых 20 ГБ. Но когда я смотрю на top/htop, он никогда не прибывает выше 3 092 использований. Процессоры не действительно активны, средняя загрузка 0.9. Я мог увеличить так или иначе память, которая используется апачем и/или MySQL, чтобы видеть, может ли это использовать alle память?


Извините, я отсутствовал некоторое время..... Вот вывод от команды mysqld:

120108  8:48:21 [Note] Plugin 'FEDERATED' is disabled.
  --binlog_cache_size=#
  --bulk_insert_buffer_size=#
  --delayed_queue_size=#
  --join_buffer_size=#
  --key_buffer_size=# The size of the buffer used for index blocks for MyISAM
  --key_cache_block_size=#
  --max_binlog_cache_size=#
  --max_binlog_size=# Binary log will be rotated automatically when the size
                      max_relay_log_size is 0. The minimum value for this
  --max_heap_table_size=#
  --max_join_size=#   Joins that are probably going to read more than
                      max_join_size records return an error.
  --max_relay_log_size=#
                      the size exceeds max_binlog_size. 0 excepted, the minimum
  --myisam_block_size=#
  --myisam_data_pointer_size=#
  --myisam_max_extra_sort_file_size=#
  --myisam_max_sort_file_size=#
  --myisam_sort_buffer_size=#
  --preload_buffer_size=#
  --profiling_history_size=#
  --query_alloc_block_size=#
  --query_cache_size=#
  --query_prealloc_size=#
  --range_alloc_block_size=#
  --read_buffer_size=#
  --read_rnd_buffer_size=#
  --record_buffer=#   Alias for read_buffer_size
  --sort_buffer_size=#
  --thread_cache_size=#
  --tmp_table_size=#  If an internal in-memory temporary table exceeds this
  --transaction_alloc_block_size=#
--transaction_prealloc_size=#
binlog_cache_size                 32768
bulk_insert_buffer_size           8388608
delayed_queue_size                1000
join_buffer_size                  12582912
key_buffer_size                   805306368
key_cache_block_size              1024
max_binlog_cache_size             18446744073709547520
max_binlog_size                   104857600
max_heap_table_size               805306368
max_join_size                     18446744073709551615
max_relay_log_size                0
myisam_block_size                 1024
myisam_data_pointer_size          6
myisam_max_extra_sort_file_size   2147483648
myisam_max_sort_file_size         9223372036853727232
myisam_sort_buffer_size           25165824
preload_buffer_size               32768
profiling_history_size            15
query_alloc_block_size            8192
query_cache_size                  805306368
query_prealloc_size               8192
range_alloc_block_size            4096
read_buffer_size                  25165824
read_rnd_buffer_size              25165824
sort_buffer_size                  25165824
thread_cache_size                 256
tmp_table_size                    805306368
transaction_alloc_block_size      8192
transaction_prealloc_size         4096

php memory_limit 128M

Я вижу что предел на 3 ГБ в нескольких ситуациях. F.i. Htop, вершина и когда я вхожу в систему Webmin в состоянии сервера. (да я использую Webmin, так как я делаю много управления от моего iPad ;))

Я попытаюсь добавить снимок экрана здесь...

4
задан 8 January 2012 в 16:21

2 ответа

Вы используете 20951 из 24 153. Приложения не запрашивают больше, чем 3 092, таким образом, ядро использует остальных для кэша и буферов. Поскольку для Ваших приложений нужно больше памяти, ядро уменьшит кэш для размещения новых требований к приложению.

Тонкая настройка MySQL и конфигурации Apache для оптимальной производительности зависит от приложения. В некоторых случаях как статические веб-сайты, большой кэш файловой системы является большим. Динамический сайт однако с тяжелым взаимодействием базы данных извлек бы выгоду от нескольких изменений до конфигурации MySQL по умолчанию.

Percona имеет хороший инструмент для запущения Вас с конфигурации MySQL. http://tools.percona.com/wizard Однажды основы находится в, можно настроить далее для специфических особенностей приложения.

Конфигурация Apache зависит от сколько трафика и размера запросов. Ничего не зная трудно рекомендовать вне значений по умолчанию.

1
ответ дан 1 December 2019 в 10:27

Если я корректен, Вы выполняете сервер на 32 бита

32 бита ограничены мадам на 4 ГБ, если Вы не используете изображение pae:

32-разрядный компьютер перебрасывается парой слов размер 32 битов, это ограничивает память теоретически 4 ГБ. Этот барьер был расширен с помощью 'Расширения физического адреса' (или PAE), который увеличивает предел 64 ГБ, хотя доступ к памяти выше 4 ГБ будет немного медленнее.

я не могу найти, имеет ли изображение ядра включенный pae.

можно попробовать, делают Кв. - получает установку linux-image-generic-pae

если это - Дон, действительно перезагрузите и посмотрите если Вы пользователь больше Вашей памяти.

Еще рассмотрите устанавливающий сервер на 64 бита

1
ответ дан 1 December 2019 в 10:27

Другие вопросы по тегам:

Похожие вопросы: