Машина: Dell r815, CentOS 5.4, 256 ГБ оперативної пам’яті, 4 x 12 ядер.
У нас є програма, яка має файл 275 ГБ. Це робить сортування на місці 20 ГБ даних одночасно, тобто обмінюється бітами навколо і замінює їх в одному файлі. Це все добре працює.
Існує останній пропуск, який потім читає весь файл і робить сортування об'єднань на різних фрагментах об'ємом 20 ГБ і виводить їх у новий файл.
Цей процес НА ВИМОГУ деякий час працює нормально, і він закінчується зчитуванням близько 50 Гб на диску. Десь після цього машина ВСІЙ починає вилазити.
Прості команди, такі як ps -ef
, ls -al
зависають довго і показують, що приймають 100% ЦП (що є лише одним ядром).
Дивлячись на статистику пам'яті top
, я бачу, що вона використовує близько 120 ГБ оперативної пам’яті (тобто 128 ГБ безкоштовно) і має 120 ГБ у розділі «кешування».
Хтось бачив подібну поведінку раніше? Цей же процес відмінно працює на машині з 64 Гб пам'яті - так я якось думаю, що це пов'язано з монтажем оперативної пам’яті, який я маю в машині.
(як ми говоримо, я проводжу тест на цій машині з усіма, крім 64 Гб, щоб виключити апаратну проблему).
Мені, можливо, не вистачає декількох vm-файлів /etc/sysctrl.conf
?
Дякую!