3

Иногда я использую /dev/shm для временных файлов размером до 500 МБ (у меня 8 ГБ ОЗУ - Ubuntu 11.04 x86-64), и при загрузке StarCraft II (с вином) я могу получить ошибки памяти в игре (поврежденные данные или "Не удалось загрузить xyz ").

Если вместо этого я использую правильную временную файловую систему для своих файлов (например, диск SSD, смонтированный на /disk3), у меня не возникнет никаких проблем.

Может ли это быть из-за того, что /dev/shm постоянно заполняется и очищается, в то время как SC2 (или другие программы здесь) ожидают наличия некоторой доступной памяти и, следовательно, malloc отказывает (и затем процесс сообщает об ошибках, где раньше ожидалось, что некоторые из них будут доступны объем памяти)?

Я действительно озадачен этим.

1 ответ1

0

Насколько я слышал, GNU libc имеет свою семантику в /dev/shm/ и как пользователь (или локальный администратор) вы не должны использовать его вообще.

Кроме того, он ограничен по размеру в большинстве дистрибутивов.

И да, что-то вроде Wine будет использовать много общей памяти, которая также пожирает /dev/shm .

Я предлагаю смонтировать tmpfs в другое место (на самом деле, я рекомендую запускать системы с /tmp качестве tmpfs и использовать TMPDIR=/var/tmp для вещей, которые нуждаются в большем пустом месте).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .