Одна и та же программа, использующая mmap, ведет себя по-разному на разных машинах.

Одна и та же программа, использующая mmap, ведет себя по-разному на разных машинах.

Я запускаю приложение, которое использует огромный файл, отображенный в памяти, на двух разных машинах (CentOS 7).

Я обнаружил, что производительность одной и той же программы существенно различается при ее запуске на двух разных машинах.

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

Когда я запускаю top команду, размер разделяемой области памяти составляет всего несколько мегабайт на медленной машине. На более быстрой машине размер разделяемой области памяти составляет около 6 ГБ, что означает, что большая часть данных кэшируется в кэше страниц ОС.

Я проверил, что имеется достаточно (более 16 ГБ) свободного места в памяти, достаточного для кэширования всего отображенного в памяти файла.

Может ли кто-нибудь дать мне идею по этому вопросу?

Связанный контент