LINUX.ORG.RU

linux для задач, интенсивно использующих выделение и освобождение памяти

 ,


1

3

Здравствуйте ! Подскажите linux для задач, интенсивно использующих выделение и освобождение памяти, чтобы не было утечки памяти из-за некорректной работы linux. Сейчас использую rosa r11 ядро 5.2 и на задаче занимающей 17 ггб в памяти около 3 ггб «утекшей» памяти.


утечки памяти из-за некорректной работы linux

ололо, прекрати говнокодить

anonymous
()
Ответ на: комментарий от anonymous

поделка не моя : https://wwwlehre.dhbw-stuttgart.de/~sschulz/E/E.html починить крайне сложно, но и не в ней дело- если что-нибудь просмотреть firefox-ом , то сразу увеличивается расход памяти на eprover. Сбросить можно BleachBit.

ustas1
() автор топика

Память течет у тебя, а виноват линукс? Потыкай valgrind’ом свою задачу, пофикси утечки.

Как вообще, по твоему, ось должна определять, какая память у приложения утекшая, а какая все еще рабочая?

Siborgium ★★★★★
()
Ответ на: комментарий от ustas1

Ну загрузи с tcmalloc через ld_preload, какие ещё варианты могут быть? Или jemalloc, чо.

anonymous
()
Ответ на: комментарий от ustas1

не в ней дело

Программа протекает, но виновата ОС. Логично.

anonymous
()
Ответ на: комментарий от ustas1

BleachBit не занимается памятью.

// А ты вообще уверен, что у тебя там не рамдиск или вообще кэши?

devl547 ★★★★★
()
Ответ на: комментарий от anonymous

Я не спец linux, для просмотра занятой памяти использую ksysguard - процесс - eprover, колонка - «память». Каким-то чудесным образом BleachBit уменьшает почти на 3 ггб эту «память» и нет своппинга.

ustas1
() автор топика

17 ггб в памяти около 3 ггб «утекшей» памяти.

1 - Ты правильно видишь и понимаешь где память, но твоё приложение течёт как …. подзаборная =)

2 - Твоё приложение не течёт, но увидев потребление на 3гига больше чем те что ты занял своими 17 ты игнорируешь то что есть такая штука как кеш и другие запущенные приложения, а может ты ещё и в файл пишешь =)

В любом случае для начала valgrind your_app

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Если valgrind скажет что у тебя реально всё окей то запусти и снова погоняй своё приложение, когда появится «утекшая» память то запусти что угодно для мониторинга памяти и выполни

sync; echo 1 > /proc/sys/vm/drop_caches
sync; echo 2 > /proc/sys/vm/drop_caches
sync; echo 3 > /proc/sys/vm/drop_caches 

«Утекшая» память должна вернутся во свояси, но скорость выполнения твоего приложения и других программ может на время замедлится. Если всё так, то выкинь из головы свои заморочки, это кеш, если он есть возможность ядро кеширует всё что только можно, если нужна память будет ядро просто выкинет на помойку истории этот кеш и отдаст приложениям твоему в частности.

Но скорее всего именно твой софт течёт

LINUX-ORG-RU ★★★★★
()

Подскажите linux для задач, интенсивно использующих выделение и освобождение памяти

Любой, абсолютно

LINUX-ORG-RU ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.