Использовать / dev / shm иногда вылетает приложения

315
Emanuele

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

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

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

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

3

1 ответ на вопрос

0
mirabilos

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

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

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

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

Похожие вопросы