Когда файл больше не находится в файловой системе, выполняется munmap
Итак, вы вызываете munmap
, когда файл не связан с файловой системой. Тогда, вероятно, что замедляет систему, так это фактическое удаление inode, которое выполняется, когда все записи каталога, файловые дескрипторы и карты памяти освобождены.
Известны проблемы с производительностью удалений в некоторых файловых системах в linux (ext3). Если это так, вы можете попробовать перейти на ext4 (с экстентами), если это возможно в вашем сценарии.
Другой вариант - жестко связать файлы в другом каталоге, чтобы они не были действительно удалены, когда вы munmmap
их. Затем вы можете вызвать ionice -c 3 rm <last-link>
или аналогичный, чтобы фактически удалить их в фоновом режиме ...