У меня есть огромный жесткий диск с /home
и небольшой SSD с /
и swap
(6 ГБ для последних, 5,7 ГБ, показанные в Ubuntu 15.04).
С другого компьютера я начал запись на свой жесткий диск. Я намерен передать около 250 ГБ через мое соединение Ethernet 100 Мбит / с. Файлы достаточно велики, что приводит к тому, что сеть используется почти оптимально (обычно около 100%, редко 99%).
Через некоторое время я заметил, что раздел подкачки (на моем компьютере - место назначения передачи) становится более полным (сейчас около 20%). Когда я приостанавливаю передачу, процент застаивается.
Я предполагаю, что мой жесткий диск не может справиться с загрузкой входящих данных, и для поддержания скорости передачи используется своп.
Я ожидаю, что когда я приостановлю передачу, процент обмена будет медленно уменьшаться. Но это не так.
Поэтому я прошу дать ответы на некоторые вопросы:
Мое предположение - то, что, так как данные, которые Вы передаете, пишутся в памяти через DMA от Вашей сетевой платы и затем хранятся к диску снова с помощью DMA (т.е. регионы памяти, которые не могут быть подкачаны), ядро просто подкачивает страницы из других приложений, который нормален и, по моему скромному мнению, не должен предупреждать Вас.
, Когда система не может выделить память теоретически, она завершает процессы к свободной памяти (я не знаю алгоритм, который она использует для выбора которые). Практически системные замораживания и/или паника, по моему опыту.
, Когда передача будет завершена, данные подкачки будут считаны назад в память при необходимости.
можно выключить подкачку и затем включить ее снова использующий swapon и команды swapoff.