Как уменьшить buffers\cache

Это ^M возврат каретки. Windows представляет разрывы строки возвратом каретки с двумя последовательностями символов, переводом строки (CRLF или ^M^J). Linux и другие нельды используют отдельный символ LF. Этот CR рассматривают как обычный символ, таким образом, ядро ищет названный интерпретатор /bin/sh␍ вместо /bin/sh. Когда Вы вызвали sh явно, это также рассматривало CR как обычный символ, часть имен команд.

Это - знак, что те файлы были скопированы с машины Windows, где они были текстовыми файлами. Вы не можете непосредственно скопировать текстовые файлы между машинами Windows и Linux, необходимо преобразовать окончания строки. Возможности состоят в том, что Вы извлекли архив в Windows, затем скопировали файлы в Linux. Вместо того, чтобы делать это, извлеките архив на Linux.

В случае Повышения, с версии 1.49.0, архив распределяется в четырех форматах:

  • gzip и bzip2, с окончаниями строки Unix;
  • zip и 7z, с окончаниями строки Windows.

Самый легкий способ скомпилировать Повышение в соответствии с Linux состоит в том, чтобы использовать архив bzip2. Если необходимо работать с 7z, можно использовать команды такой как dos2unix или sed -i -e 's/\r$//' на всех текстовых файлах для преобразования окончаний строки.

5
15.09.2013, 16:39
2 ответа

Так как Вы, кажется, не принимаете никакой наш мнения не различные страницы, с которыми мы связались как 'чиновник', возможно, официальная документация Red Hat убедит Вас:

В этом примере общий объем доступной памяти составляет 4 040 360 КБ. 264 224 КБ используются процессами, и 3 776 136 КБ свободны для других приложений. Не запутывайтесь первой строкой, которая показывает, что 28160 КБ свободны! При рассмотрении чисел использования, Вы видите, что большая часть использования памяти для буферов и кэша. Linux всегда пытается использовать RAM для ускорения дисковых операций при помощи доступной памяти для буферов (метаданные файловой системы) и кэш (страницы с фактическим содержанием файлов или блочных устройств). Это помогает системе работать быстрее, потому что данные о диске уже находятся в памяти, которая сохраняет операции ввода-вывода. Если пространство будет необходимо программам или приложениям как Oracle, то Linux освободит буферы и кэш для получения памяти для приложений. Если Ваша система будет работать некоторое время, то Вы будете обычно видеть небольшое число под полем, "свободным" на первой строке.

13
27.01.2020, 20:31
  • 1
    Используя ежедневную газету cronjob как sync; echo 3 > /proc/sys/vm/drop_caches была бы хорошая идея? –  Pedro Lobito 15.11.2017, 13:32
  • 2
    @PedroLobito по умолчанию не, конечно, нет. Почему Вы сделали бы это? Самое главное - то, что это не рассчитывает как используемая RAM. Вся RAM, используемая этими процессами, все еще доступна любой программе, которая запрашивает это. –  terdon♦ 15.11.2017, 13:48
  • 3
    Это было точно что я хотя, спасибо. –  Pedro Lobito 15.11.2017, 16:20

Это все прекрасно, но как насчет времени задержки между запросом памяти и ее отображением для того, что кэш диска должен релиз? Конечно, вы можете сказать, что это минимально или даже незаметно, но, возможно, меня волнуют 0,0000001 секунды, добавленные из-за этого процесса. Кто вы такие, чтобы решать, как использовать мою оперативную память?

Что делать, если я не хочу испытывать это время задержки? Возможно, я не возражаю против того, чтобы мои приложения загружались с диска медленнее, но хочу, чтобы они немедленно занимали оперативную память без задержки, чтобы отключить память от кэширования диска.

Как я могу ограничить объем оперативной памяти, занимаемой моим дисковым кешем? Не говорите мне, что это было реализовано без возможности сделать это.

ОБНОВЛЕНИЕ : Нашел способ сделать это.

echo 3 | sudo tee /proc/sys/vm/drop_caches

Выполните: free -m после выполнения вышеуказанного для подтверждения. Оно работает.

6
27.01.2020, 20:31

Теги

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