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

Недостаточно памяти и много места для подкачки?

У меня есть небольшая стойка vm (512M) под управлением centos 6.9. На нем запущен вторичный сервер имен и крошечный экземпляр wordpress для отображения статуса. Я не хочу платить втрое больше за немного больше памяти и кучу дискового пространства, которое мне не нужно.

Проблема в том, что mysqld и / или named часто убиваются из-за ошибок нехватки памяти. Я добавил 1 ГБ пространства подкачки, когда проблема впервые возникла, и, похоже, это не помогает, и на самом деле в сообщениях журнала, которые сбрасываются, когда это происходит, даже говорится, что используется мало подкачки:

Sep 10 20:51:12 rackit2 kernel: 2978 total pagecache pages Sep 10 20:51:12 rackit2 kernel: 2361 pages in swap cache Sep 10 20:51:12 rackit2 kernel: Swap cache stats: add 148505795, delete 148503434, find 96388662/110607450 Sep 10 20:51:12 rackit2 kernel: Free swap = 953396kB Sep 10 20:51:12 rackit2 kernel: Total swap = 1035256kB Sep 10 20:51:12 rackit2 kernel: 131071 pages RAM Sep 10 20:51:12 rackit2 kernel: 5834 pages reserved Sep 10 20:51:12 rackit2 kernel: 1767 pages shared Sep 10 20:51:12 rackit2 kernel: 119683 pages non-shared

Другая странность заключается в том, что он говорит, что убивает httpd, хотя на самом деле он убивает mysqld:

Sep 10 20:51:12 rackit2 kernel: Out of memory: Kill process 16299 (httpd) score 15 or sacrifice child Sep 10 20:51:12 rackit2 kernel: Killed process 16299, UID 48, (httpd) total-vm:382360kB, anon-rss:15648kB, file-rss:12kB

# ps ax | grep httpd 3904 pts/0 D+ 0:00 grep httpd 13721 ? S 0:09 /usr/sbin/httpd 26698 ? S 0:20 /usr/sbin/httpd 30254 ? Ss 14:41 /usr/sbin/httpd # ps ax | grep mysqld 3906 pts/0 S+ 0:00 grep mysqld #

Я вижу обсуждение ограничений на фиксацию в Linux oom, кажется, некорректно убил процесс - что я могу упустить? но это тоже кажется достаточно высоким:

CommitLimit: 1285728 kB Committed_AS: 276332 kB

(и после перезапуска mysqld :)

CommitLimit: 1285728 kB Committed_AS: 602712 kB