Смонтировать / usr в ОЗУ (загрузка с жесткого диска при запуске и сохранение при выключении)

Я не уверен, что понимаю ваш вопрос.

Я просто попробовал это, и для байта -12 (знаковое значение) он возвращал целое число 244 (эквивалентное значению без знакового байта, но вводимое как int ):

  public static int unsignedToBytes(byte b) {
    return b & 0xFF;
  }

  public static void main(String[] args) {
    System.out.println(unsignedToBytes((byte) -12));
  }

Это то, что вы хотите сделать?

Java не позволяет выразить 244 как значение byte, как и C. Чтобы выразить положительные целые числа выше Byte.MAX_VALUE (127) вам нужно использовать другой целочисленный тип, например short, int или long.

4
задан MestreLion 11 May 2012 в 23:41
поделиться

2 ответа

Это возможно, но бессмысленно. Ядро сохраняет кэш из данных из диска в RAM. Данные, которые Вы использовали последний раз, сохранены в RAM. Вы естественно закончите с частями /usr, что Вы часто используете в RAM, и части, которые Вы не используете, не будут поднимать RAM.

, Если Вы хотите лучшее время реакции, когда Вы запускаете приложение, можно отобрать кэш. Файл загружается в память в первый раз, когда Вы используете его, и остается там, пока память не снова используется для чего-то еще. Можно вынудить файл быть загруженным:

cat /path/to/file >/dev/null

, Например, чтобы предварительно загрузить все исполняемые файлы и библиотеки в RAM:

cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null

Это может требовать времени к полному, таким образом, необходимо сделать это в фоновом режиме. Можно поместить следующую команду в /etc/rc.local:

ionice -c 3 cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null &

, Чтобы также загрузить все библиотеки в подкаталогах /usr/lib* могло быть полезно работать find:

ionice -c 3 find /bin /usr/bin /usr/lib* -type f -exec ionice -c 3 cat '{}' ';' > /dev/null &
7
ответ дан Eliah Kagan 22 October 2019 в 14:12
поделиться
ionice -c 3 cat /bin/* /lib/* /usr/bin/* /usr/lib/* >/dev/null &

не будет работать, потому что существует много каталогов в рамках освобождения. попробуйте найдите:

ionice -c 3 find /bin /usr/bin /usr/lib* -type f -exec cat '{}' ';' > /dev/null &

Все, что это производит, переходит к/dev/null, таким образом, ничто не будет раздражать Вас.

<забастовка> я думаю оба , ионизируются , требуются, потому что находят, выполняет команды в собственном процессе. Исправьте меня, если я неправ. (Похож, я был неправ.)

Эта строка в rc.local должна добиться цели к уже выбранному ответу.

[редактирование] удалил второй "ionice", как предложено в комментарии.

2
ответ дан qwc 22 October 2019 в 14:12
поделиться
Другие вопросы по тегам:

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