Содержание

Данные о дисках

$ sudo df -h
$ sudo lsblk
$ sudo parted -l
$ sido fdisk -l

Swap диск или файл

Можно создать файл или раздел для подкачки - Swap

КомандаОписание
sudo swapon –show Показать файла подкачки
free -hПроверить размер доступной памяти и памяти в swap
cat /proc/swapsПроверка swap
df -hПроверить размер диска для файла подкачки
grep '^Swap' /proc/meminfoПроверка общего размера файла подкачки

Какого размера должен быть файл подкачки

Файл подкачки должен быть равен примерно физическому размеру памяти.

https://www.cyberciti.biz/tips/linux-swap-space.html

Создание файла подкачки

1. Создадим файл подкачки с именем swapfile_extend_1GB и размером 1Gb

  sudo fallocate -l 1G /swapfile_extend_1GB

2. Проверим, что файл создался

  ls -l /swapfile_extend_1GB  

3. Настроим права доступа для файла подкачки

  sudo chmod 600 /swapfile_extend_1GB

4. Проверим, что права установились. Должно быть 600, rw только для владельца

  ls -l /swapfile_extend_1GB

5. Отформатируем новый файл, как swap

  sudo mkswap /swapfile_extend_1GB

6. Активируем файл подкачки, как новый

  sudo swapon /swapfile_extend_1GB

7. Чтобы файл подкачки подгружался после загрузки, надо добавить его монтирование в fstab

   sudo vim /etc/fstab

и добавить

   /swapfile_extend_1GB       none       swap    sw        0       0
   /swapfile_extend_1GB       none       swap    sw,pr=2        0       0

,pr=2 приоритет, если есть и файл и раздел. 8. Проверяем, что добавилось нормально

   sudo grep swap /etc/fstab    

9. Проверяем, что всё работает, как надо

   swapon --show
   free -h    

Создание раздела подкачки

1. Посмотрим список разделов

  lsblk
  fdisk

2. Создадим раздел подкачки на свободном месте

 sudo mkswap /dev/sdb

3. Активируем раздел подкачки

 sudo swapon /dev/sdb

4. Добавим в fstab

 sudo vi /etc/fstab

строки

 /dev/sdb                                  none            swap    sw              0       0

5. Проверим, что раздел создался

 swapon --show
 free -h 
 

Пример программы от GPTChat, которая загрузит swap

import random
import string
 
# Создаем пустой массив
array = []
 
# Цикл для добавления рандомных строк в массив
for _ in range(500):  # Указываем количество строк, которые нужно добавить в массив
    random_string = ''.join(random.choices(string.ascii_letters, k=5000000))  # Генерируем рандомную строку из 5 символов
    array.append(random_string)  # Добавляем строку в массив
 
    # Выводим текущий размер массива на экран
    print(f"Текущий размер массива: {len(array)}")
 
# Выводим весь массив на экран
print(array)

Какие программы и насколько используют swap?

## bash for loop example to list what processes are using swap space##
for file in /proc/*/status
do 
  awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file 
done

с сортировкой

## Get swap space in Linux using bash for loop ##
for file in /proc/*/status; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

USB диск

Отформатировать USB диск.

1. Посмотреть USB диск lsblk

  $ lsblk

2. Отмонтировать диск перед началом разбиения диска

  $ umount /dev/sdb1

3. Создание GPT на USB диске

  $ sudo fdisk /dev/sdb

Выбрать g - создать GPT n - новый раздел w - записать на диск

4. Форматирование USB диска

  $ sudo mkfs.ext4 -v -L Pendrive -m 1 -b 4096 /dev/sdb1    

или

  $ sudo mkfs -t ext4 /dev/sdb1

-L указывает метку диска -m резервирует процент блоков, 1% в нашем случае -b указывает размер блока -v отображение детальной информации

  $ sudo mkfs.ntfs --fast --label Pendrive /dev/sdb1
  $ sudo mkfs.fat -F 32 -n Pendrive /dev/sdb1
  $ sudo mkfs.exfat -n Pendrive /dev/sdb1 
  $ sudo mkfs.btrfs -L Pendrive /dev/sdb1
  $ sudo mkfs.xfs -L Pendrive /dev/sdb1

Проверить вновь созданную систему

$ sudo file -sL /dev/sdb1
 
$ mkdir test && cd test
$ touch test.txt
$ echo "THIS IS ONLY A TEST" > test.txt
$ cat test.txt

Полное удаление данных

  $ sudo dd if=/dev/zero of=/dev/sdb1 bs=1M
  $ sudo shred -n 3 -z /dev/sdb1