У мене є linux вікно оперативної пам'яті 8 Гб, на якому працює 4 сервери tomcat. Один з них встановлений на 3000 МБ пам'яті (jvm -Xms і -Xmx налаштування), а інші встановлені на 1500 МБ. Роздільний розділ також встановлено на 8 Gigs. Коли я запускаю ці сервери, використання файлів підкачки низьке. Але протягом періоду днів і протягом певного часу, коли один / усі сервери знаходяться в піковій активності, використання свопів починає зростати. Ось типовий вихід sar -r.
kbmemfree kbmemused% memused kbbuffers kbcached kbswpfree kbswpused % swpused kbswpcad
48260 8125832 99.41 196440 2761852 7197688 1190912 14.20 316044
75504 8098588 99.08 198032 2399460 7197688 1190912 14.20 316032
Він показує 14,2% swap, який використовується зараз. Найцікавіше, що це% НІКОЛИ не зменшується . Він продовжує зростати і сягає до 30-40% . Ми перезапускаємо наші сервери щотижня.
Я б припустив, що відсоток зросло збільшується в періоди пікової активності та зменшується в періоди низької активності. Або принаймні залишається постійним. Це виглядає так, що операційний простір ніколи не відновлюється.
Вихід безкоштовного: вільний -м загальний обсяг використаних безкоштовних загальних буферів, кешованих Mem: 7982 7937 45 0 32 2088 - / + буфери / кеш: 5816 2166 Зміна: 8191 1163 7028
Так що є щонайменше 2 г безкоштовного Рама. Отже, питання полягає в тому, чому простір підкачки продовжує збільшуватися і не повертається ОС? Або як налагодити це, щоб з'ясувати, що відбувається.