Как выделить больше места для подкачки и увеличить его размер больше, чем RAM?

Если у вас есть очень большой файл (что является частой причиной для выборки), вы обнаружите, что:

  1. shuf исчерпывает память
  2. Использование $ RANDOM не будет работать правильно, если файл превышает 32767 строк

Если вам не нужно "ровно" n строк выборки , вы можете пример отношения , например:

cat input.txt | awk 'BEGIN {srand ()}! / ^ $ / {if (rand () sample.txt

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

Примечание. Код взят из: https://stackoverflow.com/questions/692312/randomly-pick-lines-from-a-file-without-slurping-it-with-unix

8
13.04.2017, 15:22
3 ответа

Вы просто хотите увеличить размер свопа в вашей системе, используя пространство из sda2 . Ваш sda2

/dev/sda2       104G   74G   25G  75%  / 

Вы можете добавить дополнительное пространство подкачки в свою систему, используя файл подкачки, созданный на / , который будет использовать ваш sda2 . Просто выполните:

dd if=/dev/zero of=/swapfile bs=20480 count=1M

, а затем выполните:

sudo mkswap /swapfile  
sudo swapon /swapfile 

и проверьте, что пространство подкачки увеличится на эту величину с помощью free -m

и да, чтобы включить его во время загрузки, добавьте запись в / etc / fstab

 /swapfile     none     swap     sw     0     0
4
27.01.2020, 20:11

Ваш вопрос: « Как выделить больше места для подкачки и увеличить его размер больше, чем RAM? », ничего не говорит об изменении способа настройки вашей системы.

Ваш fdisk и бесплатный вывод сообщают нам:

  • У вас есть раздел (/ dev / sda3), предназначенный для подкачки. Если вы просто измените размер этого раздела, вам не нужно будет ничего менять в системе , чтобы использовать дополнительное пространство. (/ etc / fstab).
  • У вас есть раздел (/ dev / sda2) с ОС. В этом разделе 26 ГБ свободного места. Если вы уменьшите размер этого раздела на 20 ГБ, у ОС останется 5 ГБ для роста и использования.

Раздел подкачки не является расширенным, поэтому его немного легче увеличить.

Необходимые инструменты:

  • Загрузочная ОС с gparted

Найдите здесь одно место с последней бесплатной версией Parted Magic

Инструкции по изменению размера разделов с gparted

  1. загрузкой в ​​другую ОС, имеющую Инструмент gparted
  2. В gparted; изменить размер раздела ОС (/ dev / sda2). Уменьшить на сумму, чтобы пожертвовать на место подкачки. Это может занять много времени, потому что все данные, находящиеся в освобождаемом пространстве, нужно будет переместить с помощью gparted.
  3. В gparted; изменить размер раздела подкачки (/ dev / sda3). Переместите и расширите, чтобы включить все свободное пространство.
  4. перезагрузка в sda2 OS.
  5. Убедитесь, что используется раздел подкачки (/ dev / sda3).

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

Сначала сделайте резервную копию ваших данных.

2
27.01.2020, 20:11
  1. Управление памятью

    • Для отображения сводки использования подкачки с помощью ваше устройство:

       $ swapon -s 
       
    • Чтобы отобразить объем вашей свободной и используемой физической памяти и памяти подкачки:

       $ free -h 
       
    • Для предварительного выделения места в / swapfile, вы можете использовать следующую строку:

       $ fallocate -l 20G / swapfile 
      % OR 
       $ dd if = / dev / zero of = / swapfile bs = 20480 count = 1M 
       
  2. Изменить разрешение и создать / активировать своп

     $ chmod 600 / swapfile 
     
     $ mkswap / swapfile 
     
     $ swapon / swapfile 
     

    Вы также можете повысить безопасность файлов, изменив атрибуты файла с помощью chattr . Я рекомендую вам прочитать его страницу руководства или прочитать это руководство на веб-сайте Tecmint .

  3. Убедитесь, что он включен, просмотрев вывод команды cat / proc / swaps , используйте команду free или

     $ swapon -s 
     
  4. Чтобы включить его во время загрузки , отредактируйте / etc / fstab (статическая информация о файловой системе), включив следующие поля, где поля: fs_spec , fs_file , fs_vfstype , fs_mntops , fs_freq и fs_passno , о которых вы можете прочитать у man 5 fstab :

     $ vi / etc / fstab 
     
     / swapfile none swap default, отбросить 0 0 
     
    • в параметре fourt fs_mntops , не используйте только sw при переключении на SSD, но по умолчанию, отбросьте , чтобы блоки памяти обрезались каждый раз при запуске, см. Ответ здесь about Как выполнять перехват ошибок и замену в случае ошибки / предупреждения? Параметр сбросить определенно заслуживает внимания ks на разделах.
4
27.01.2020, 20:11

Теги

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