использование реальной памяти

Нет никакой команды для перенастройки символьной ссылки, все, что можно сделать, удаляют его и создают другой. Принятие Вас имеет утилиты GNU (например, в соответствии с невстроенным Linux или Cygwin), можно использовать -lname основной из find соответствовать символьным ссылкам их целью, и readlink считать содержание ссылки. Непротестированный:

find /mnt/home/someone/something -lname '/home/someone/*' \
     -exec sh -c 'ln -snf "/mnt$(readlink "$0")" "$0"' {} \;

Было бы лучше сделать эти символьные ссылки родственником. Существует удобная небольшая названная утилита symlinks (первоначально Mark Lords, теперь сохраняемым J. Brandt Buckley), существующий во многих дистрибутивах Linux. Прежде чем перемещение, или после восстановления действительных ссылок как выше работало symlinks -c /mnt/home/someone/something преобразовать все абсолютные символьные ссылки в соответствии с указанным каталогом к относительным символьным ссылкам, если они не пересекают границу файловой системы.

15
31.05.2011, 18:14
2 ответа

Mem: total число является общей суммой RAM, которая может использоваться приложениями. Это - общая RAM, установленная в системе, минус:

  • память, зарезервированная устройствами (часто видеопамять, если видеокарта не имеет своей собственной RAM);
  • память, используемая самим ядром.

То общее количество включает:

  • free: память, которая в настоящее время используется для любой цели;
  • shared: понятие, которое больше не существует. Это оставляют в выводе для обратной совместимости (существуют сценарии, которые анализируют вывод от free). (На существующих системах Вы будете обычно видеть ненулевые значения потому что shared повторно ставился целью для проявления памяти, это явно совместно используется с помощью механизма общей памяти. В более старых системах это включало файлы, отображенные больше чем одним процессом и совместно используемой памятью, которая осталась общей после fork().)
  • buffers: память, которая поддерживается файлами, и это может быть выписано к диску в случае необходимости;
  • cache: память, которая поддерживается файлами, и это может быть исправлено в любое время (различие с buffers это буферизует, должен быть сохранен на диск, прежде чем они будут снова использованы, тогда как кэш состоит из вещей, которые могут быть перезагружены от диска);
  • used -buffers/cache: память используется приложениями (и не разбитая на страницы для свопинга).

В повышении система могла работать без буферов и кэша, резервируя RAM для приложений и систематически выполняя чтение с диска и записи без любого кэширования. -/+ buffers/cache числа указывают на сумму RAM, используемой непосредственно приложениями (used столбец) и сумма RAM, не используемой приложениями (free столбец).

Хотя это может варьироваться много, здоровая система обычно имеет приблизительно половину ее RAM, посвященной приложениям и наполовину посвященной буферам и кэшу. Если Вы не выполняете выделенный файловый сервер, Ваша система имеет больше RAM, чем этому нужно, для какого Вы в настоящее время делаете. Если free - buffers/cache показатель был низким, который укажет на систему, которая не имеет достаточного количества RAM (вопреки широко распространенному мнению, имея большую память, посвященную буферам, и кэш важен для производительности системы, и пытающийся зарезервировать больше памяти для приложений сделал бы 99,99% систем медленнее).

swap строка проста, она показывает объем подкачки, это используется (или приложениями или для tmpfs устройство хранения данных), и сумма, которая не является.

16
27.01.2020, 19:50

Да Вы правы. Буферы и кэш используются ОС, но сразу доступны приложениям. ОС готова делать недействительным и выбросить часть кэша для удовлетворения следующего запроса на память.

3
27.01.2020, 19:50

Теги

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