страницы руководства: значение «2» в STAT (2)? [дубликат]

  1. Запуск matlab является или должен быть полностью отделен от управления пространством подкачки. Вам следует выделить части создания/удаления свопа в отдельный скрипт и затем запускать этот скрипт с sudo - либо из командной строки, либо из вашего основного скрипта запуска matlab.

    Вы также должны заключать свои переменные в кавычки, когда используете их, а не только когда определяете их. BTW, поскольку ваши переменные являются фиксированными строками без интерполяции переменных и т.д., вы должны использовать одинарные кавычки при их определении. То же самое верно и для команды dd - только аргументы of= и count= нуждаются в двойных кавычках. Остальные не нуждаются в кавычках вообще, но одинарные кавычки более уместны, если вы решите заключить их в кавычки.

    Используйте двойные кавычки, когда вы хотите вставить другие переменные или подстановку команды в переменную или аргумент, одинарные кавычки - для фиксированных строк. BTW для дат, YMD сортирует правильно. DMY - нет.

    например,

    SWAPFILE="/$swappath/.swap_file_$(date+%Y%m%d)" SWAP_FILE='/media/masi/SamiSwapVirtual/.swap_file_20.7.2016'

  2. Вам не нужно добавлять место под своп только потому, что вы запускаете matlab. Или любую другую программу. Если вам нужно или может понадобиться больше места подкачки, просто добавьте его в систему один раз, например, в /etc/fstab и забудьте об этом.

    Если вы можете изменить размер разделов так, чтобы раздел подкачки был немного больше, чем вам нужно, то сделайте это. Если нет, то добавьте файл подкачки в /etc/fstab.

    При замене на SSD следует использовать опцию discard, чтобы блоки обрезались при каждой перезагрузке. например,

    /dev/sda4 none swap defaults,discard 0 0

    Опция discard определенно работает на разделах. Я не уверен, работает ли она и с файлами подкачки (думаю, что да, но не видел документации, в которой это написано)

  3. Еще лучше, чем добавлять место подкачки, установить больше оперативной памяти в систему, если аппаратное обеспечение позволяет это сделать. Вы упомянули в другом сообщении, что используете Macbook Air, который имеет впаянную оперативную память, поэтому не позволяет обновлять оперативную память.

    Для других машин это лучший вариант. Системы на базе DDR3 с 4 гнездами DIMM можно легко и довольно дешево обновить до 32 ГБ (4x8 ГБ DIMM по цене около $50 каждый). Системы на базе DDR4 с 4 разъемами DIMM можно легко обновить до 64 ГБ (4x16 ГБ DIMM по цене около $100 каждый).

    (цены приблизительные, в AUD, для продуктов, доступных в .au, и актуальные на момент написания статьи)

    Можно, но сложнее найти и дороже, установить 16 Гб DDR3 DIMMs.... разница в цене достаточно велика, поэтому, вероятно, стоит просто обновить материнскую плату и процессор, чтобы получить DDR4.

  4. zram может использовать часть вашей оперативной памяти в качестве устройства сжатого блока ОЗУ. Например, для устройства подкачки zram, которое использует до 4 ГБ ОЗУ:

    modprobe zram num_devices=1
    echo $(((4 * 1024 * 1024 * 1024 * 1024)) > /sys/block/zram0/disksize
    mkswap /dev/zram0
    swapon -p 100 /dev/zram0

    Вы можете использовать это, если у вас также есть раздел подкачки или файл подкачки, но более разумно использовать zswap, потому что нет никакого "интеллекта" относительно того, что хранится в ZRAM swap, а что выгружается на диск. Когда своп ZRAM заполнен, все последующие данные, замененные на своп, отправляются на диск, пока в ZRAM снова не появится свободное место.

  5. Если у вас уже есть раздел подкачки, вы можете использовать zswap для добавления динамически изменяемого размера кэша оперативной памяти со сжатием к существующему пространству подкачки. Вы можете указать ему, какой алгоритм сжатия использовать, и максимальный процент оперативной памяти, который ему разрешено использовать. Например:

    echo 1 > /sys/module/zswap/parameters/enabled
    echo lz4 > /sys/module/zswap/parameters/compressor
    echo 50 > /sys/module/zswap/parameters/max_pool_percent

    Это будет сжимать все данные, которые выгружаются, и когда размер оперативной памяти приблизится к максимальному, начнет использовать раздел подкачки по принципу наименьшего использования (LRU), так что последние использованные данные с большей вероятностью останутся в оперативной памяти.

    И zram, и zswap были в основном ядре уже несколько лет.

    zram или zswap могут быть особенно полезны, если вы также обновляете свою оперативную память. Например, я недавно обновил свою основную систему до 32 ГБ DDR3 и также использую раздел подкачки SSD с zswap, настроенным на использование до 25% оперативной памяти для подкачки.

1
01.09.2014, 17:19
0 ответов

Теги

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