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

free -m output, следует ли мне беспокоиться о нехватке памяти на этом сервере?

Возможный дубликат:
Как понять использование памяти и среднюю нагрузку на Linux-сервере

Это результат free -m в производственной базе данных (MySQL с машиной. 83 МБ выглядит довольно плохо, но я предполагаю, что буфер / кеш будет использоваться вместо Swap?

[admin@db1 www]$ free -m
             total       used       free     shared    buffers     cached
Mem:         16053      15970         83          0        122       5343
-/+ buffers/cache:      10504       5549
Swap:         2047          0       2047

top вывод отсортирован по памяти:

top - 10:51:35 up 140 days,  7:58,  1 user,  load average: 2.01, 1.47, 1.23
Tasks: 129 total,   1 running, 128 sleeping,   0 stopped,   0 zombie
Cpu(s):  6.5%us,  1.2%sy,  0.0%ni, 60.2%id, 31.5%wa,  0.2%hi,  0.5%si,  0.0%st
Mem:  16439060k total, 16353940k used,    85120k free,   122056k buffers
Swap:  2096472k total,      104k used,  2096368k free,  5461160k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                     
20757 mysql     15   0 10.2g 9.7g 5440 S 29.0 61.6  28588:24 mysqld                                                                                                                                       
16610 root      15   0  184m  18m 4340 S  0.0  0.1   0:32.89 sysshepd                                                                                                                                     
 9394 root      15   0  154m 8336 4244 S  0.0  0.1   0:12.20 snmpd                                                                                                                                        
17481 ntp       15   0 23416 5044 3916 S  0.0  0.0   0:02.32 ntpd                                                                                                                                         
 2000 root       5 -10 12652 4464 3184 S  0.0  0.0   0:00.00 iscsid                                                                                                                                       
 8768 root      15   0 90164 3376 2644 S  0.0  0.0   0:00.01 sshd       

Строка, на которую вы должны смотреть:

-/+ buffers/cache:      10504       5549

что говорит о том, что у вас есть более 5 ГБ, которые можно освободить на машине с 16 ГБ. В качестве альтернативы вы можете выполнить математику и сложить свободные + буферы + кеш из первой строки и получить примерно такое же число, но математика сложна, так что зачем беспокоиться, если она прямо там, на следующей строке.

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

Ваша память подкачки не используется, что является хорошим знаком (системе никогда не требовалось больше доступной физической памяти).

Linux удалось использовать почти всю вашу память, позволяя очень мало тратить зря. Это не похоже на то, что если вы используете на 2 ГБ меньше сегодня, вы можете использовать дополнительные 2 ГБ завтра.