Я получил предупреждение о том, что использование свопа достигло 80%, что подтвердилось, когда я проверил topas
.
Я обнаружил следующие проблемы:
1) Заглядывать в vmstat 5 10
, Я нашел много ИП с 0 Эсеры. Как такое вообще возможно?
kthr memory page faults cpu ----- ----------- ------------------------ ------------ ----------------------- r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 12 1 12245252 92621 0 229 0 0 0 0 1884 56260 24568 84 15 0 0 2.50 99.9 12 1 12245413 90313 0 190 0 0 0 0 1764 51759 23827 86 14 0 0 2.50 99.9 12 1 12245193 88040 0 218 0 0 0 0 1734 69307 25347 85 15 0 0 2.50 99.9 14 1 12246377 83810 0 157 0 0 0 0 1960 80471 24057 84 16 0 0 2.50 100.0 13 1 12246050 79785 0 183 0 0 0 0 2280 103138 21990 81 19 0 0 2.50 100.0 12 1 12245988 77393 0 173 0 0 0 0 1881 51984 22331 84 16 0 0 2.50 100.0 14 1 12246180 74721 0 179 0 0 0 0 1792 52624 20610 79 21 0 0 2.50 99.9 15 1 12246131 72304 0 176 0 0 0 0 2109 58504 23344 82 18 0 0 2.50 99.9 15 1 12246673 68231 0 187 0 0 0 0 2272 73068 25319 85 15 0 0 2.50 99.9 13 1 12246305 66342 0 172 0 0 0 0 1966 104313 21884 83 17 0 0 2.50 100.0
2) Я пошел искать, кто поглощает мою драгоценную память, и обнаружил, что на самом деле очень мало знаю, как это вычислить в AIX.
Нашел эту команду где-то, что казалось разумным, читая руководство:
ps -ealf | head -1 ; ps -ealf | sort -rn +9 | head
что показалось разумным, если взглянуть в руководство и дать примерно такой результат:
F S UID PID PPID C PRI NI ADDR SZ STIME TTY TIME CMD 242001 A util 1581080 1 76 60 20 fb34510 150044 10:55:40 pts/0 103:43 /usr... 242001 A util 569540 1 0 60 20 d235510 142580 11:01:09 pts/0 68:55 /usr/... 242001 A util 1425464 1 4 60 20 43c6510 129916 23:17:58 - 168:02 /usr... 202001 A util 245864 1 83 60 24 da9e510 113008 13:37:22 pts/2 43:26 /usr/... 242001 A util 1163370 1 0 68 24 d69d510 103572 09:55:52 pts/13 17:24 /usr/... 242001 A util 466984 1 0 60 20 5d0c510 83064 11:00:34 pts/0 22:57 /usr/... 242001 A raid 1048782 1 7 60 20 e5b8510 78724 16:41:18 pts/6 0:36 /usr/... 242001 A util 659612 1 13 60 20 edc3510 76400 11:13:17 pts/0 10:57 /usr/... 242001 A util 1134736 1 0 60 20 eb91510 75188 06:21:23 - 27:23 /usr/...
Где SZ должен быть размером в 1k единиц, согласно странице руководства; что также не имело особого смысла, поскольку это процессы Java с Xms = 1G (или около того), и, как показано, самый большой процесс имеет ~ 150 МБ. Очередной раз.. ?
И, наконец, мой сервер в настоящее время не загружен максимально, но все еще показывает ~ 20% использования пространства подкачки. Как мне это объяснить?
Я очень потерян. С Solaris это было проще понять.
Кто-нибудь поделится мыслями?
Какие у вас настройки vmm?
Убедитесь, что у вас lru_file_repage = 1.
vmo -o lru_file_repage
Значение по умолчанию (lru_file_repage = 0) приводит к тому, что AIX выгружает страницы приложений, даже если вокруг много кэшированных файлов, из которых страницы могут быть выброшены. Одним из следствий является растущее использование пространства подкачки.
Параметр lru_file_repage = 0 установлен по умолчанию и включает AIX 5.3.