Утечка памяти в Linux BASH при перенаправлении stdio - PullRequest
2 голосов
/ 09 октября 2009

У меня есть утечка памяти где-то , но она не связана с моей программой. Я делаю это смелое утверждение, основываясь на том факте, что после того, как моя программа завершает работу обычным способом, с ошибкой сегмента или прерыванием, память не восстанавливается. Если бы моя программа была виновником, я бы предположил, что MMU восстановит все, но это не так.

Утечка вступает в действие только тогда, когда я перенаправляю стандартный вывод (в BASH версии 2.05 или 4) в файл, как это нормально:

# my-program 

но это не так:

# my-program > /mnt/sda1/log-output.txt

Скорость, с которой я печатаю на экран, составляет <2 Кб / с. (Файл находится на USB-ключе). </p>

Есть идеи?

Смежный вопрос здесь .

1 Ответ

2 голосов
/ 09 октября 2009

Только MemFree почти ничего не говорит.

Блочный слой Linux много кеширует.

Вы можете увидеть, сколько используется для кэшей файловой системы (и других) в том же / proc / meminfo, который вы упомянули.

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