Situación: aumentar el tamaño de intercambio ( /dev/sda3
) mayor que Ram (8 GB) cuando HD 128 GB
Motivación: 8 GB de RAM es muy poco; 30 GB de espacio libre en mi SSD; Quiero convertir 20 GB a SSD Swap
Características del sistema
Intercambio no inmutable / cambiable. No puedo encontrar ninguna evidencia de por qué
/mnt/.swapfile
debería ser inmutable, por lo que no necesita cambiar los atributos de archivo del archivo de intercambiosudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile
Comando
sudo fdisk -lu /dev/sda
daDisk /dev/sda: 113 GiB, 121332826112 bytes, 236978176 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: gpt Disk identifier: 082F85CA-EE3E-479C-8244-858B196FA5BA Device Start End Sectors Size Type /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 220323839 220319744 105.1G Linux filesystem /dev/sda3 220323840 236976127 16652288 8G Linux swap
Comando
df -h
daFilesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 793M 9.4M 784M 2% /run /dev/sda2 104G 74G 25G 75% / tmpfs 3.9G 54M 3.9G 2% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup tmpfs 793M 64K 793M 1% /run/user/1000
Asigne más espacio en disco para Swap in
/dev/sda3
.
Mi flujo de trabajo fallido para la tarea cuando HD y Swap en la misma partición, /dev/sda3
masi@masi:~$ sudo -i
root@masi:~# swapoff /dev/sda3
root@masi:~# swapon
[blank]
root@masi:~# dd if=/dev/zero of=/dev/sda3 bs=20480 count=1M
dd: error writing '/dev/sda3': No space left on device
416308+0 records in
416307+0 records out
8525971456 bytes (8.5 GB, 7.9 GiB) copied, 18.7633 s, 454 MB/s
root@masi:~# mkswap /dev/sda3
Setting up swapspace version 1, size = 8 GiB (8525967360 bytes)
no label, UUID=245cb42c-1d4e-4e21-b544-16b64af962d6
root@masi:~# swapon -p 99 /dev/sda3
root@masi:~# swapon
NAME TYPE SIZE USED PRIO
/dev/sda3 partition 8G 0B 99
root@masi:~# vi /etc/fstab
...
HD e intercambio en la misma partición: flujo de trabajo actual [Ijaz, cas, FarazX]
Fusionando Utilice fallocate
al principio en su lugar dd
porque no es necesario poner ceros
masi@masi:~$ sudo fallocate -l 20G /mnt/.swapfile
masi@masi:~$ sudo mkswap /mnt/.swapfile
Setting up swapspace version 1, size = 20 GiB (21474832384 bytes)
no label, UUID=45df9e48-1760-47e8-84d7-7a14f56bbd72
masi@masi:~$ sudo swapon /mnt/.swapfile
swapon: /mnt/.swapfile: insecure permissions 0644, 0600 suggested.
masi@masi:~$ sudo chmod 600 /mnt/.swapfile
masi@masi:~$ free -m
total used free shared buff/cache available
Mem: 7925 1494 175 196 6255 5892
Swap: 28610 0 28610
Agregue la siguiente línea en su /etc/fstab
que es mejor que agregar la cosa a sus niveles de ejecución ( /etc/rc.local
), donde puse el archivo de intercambio /mnt/.swapfile
para mantener la filosofía de Linux / Unix y mantener la integridad de los scripts de copia de seguridad de mi sistema; Si cambia a un SSD, use la discard
opción para que los bloques se recorten en cada reinicio, de modo que nosw
# http://unix.stackexchange.com/a/298212/16920
# http://unix.stackexchange.com/a/298543/16920
# If swap is on SSD, trim blocks each time at startup.
/mnt/.swapfile none swap defaults,discard 0 0
# If swap on External HDD, just use sw.
#/media/masi/SamiWeek/.swapfile none swap sw 0 0
Fuentes
- ¿Cómo aumentar el espacio de intercambio? https://askubuntu.com/a/178726/25388 Discusión general sobre el aumento del espacio de intercambio para principiantes.
- Linux Partition HOWTO para HDD, no SSD: 4. Requisitos de particionamiento. http://www.tldp.org/HOWTO/Partition/requirements.html Por lo tanto, no coloque su intercambio en pistas externas en SSD, sino que use las
defaults,discard
opciones para recortar sus bloques según lo propuesto por @cas.
Sistema: Linux Ubuntu 16.04 64 bit
Kernel de Linux: 4.6
Módulos de Linux: wl
Hardware: Macbook Air 2013-mid
Ram: 8 GB
SSD: 128 GB
fuente
fdisk -lu /dev/sda
?chflags
BSD y OS X, y tenemos un comando llamado Linuxchattr
, puedes hacer que tus archivos y directorios sean más y más seguros e inmutable estableciendo algunos atributos, aquí hay una guía en tecmint.com , espero que esto pueda ayudar.Respuestas:
Solo desea aumentar el tamaño de intercambio en su sistema utilizando el espacio de
sda2
. Tusda2
Puede agregar espacio de intercambio adicional a su sistema utilizando el archivo de intercambio creado en el
/
que utilizará susda2
. Solo haz:y luego hacer:
y verifica, tu espacio de intercambio aumentará en esa cantidad usando
free -m
y sí, para habilitarlo en el momento del arranque, agregue la entrada en
/etc/fstab
fuente
/etc/fstab
, puede evitar las entradas enrc.local
. Coloque el archivo de intercambio en algún lugar como/mnt/.swap
y ya no tendrá que preocuparse demasiado por élGestión de la memoria
Para mostrar el resumen de uso de intercambio de su dispositivo:
Para mostrar la cantidad de memoria física y de intercambio gratuita y usada:
Para preasignar espacio a / swapfile, puede usar la siguiente línea:
Cambiar permiso y crear / activar intercambio
También puede mejorar la seguridad de su archivo cambiando sus atributos de archivo usando
chattr
. Le recomiendo que lea su página de manual, o lea esta guía en el sitio web de Tecmint .Verifique que esté habilitado viendo la salida del comando
cat /proc/swaps
, use elfree
comando oPara activarlo en el arranque , editar
/etc/fstab
(información estática sobre el sistema de archivos) para incluir el siguiente, donde los campos sonfs_spec
,fs_file
,fs_vfstype
,fs_mntops
,fs_freq
yfs_passno
, sobre la que se puede leer porman 5 fstab
:sw
cuando cambie a un SSD, sinodefaults,discard
que los bloques de memoria se recorten cada vez que se inicie, vea la respuesta aquí sobre ¿Cómo hacer la captura de errores y el intercambio si hay error / advertencia? Ladiscard
opción definitivamente funciona en particiones.fuente
dd
ya que puede hacerlo mal si no sabe lo que está haciendo,dd
es un comando súper poderoso. Y el espacio de intercambio AFAIK en Linux se usa cuando la cantidad de memoria física (RAM) está llena, y tenga en cuenta que no tiene punto de montaje. Así que creo que no importa dónde esté, simplementefstab
ejecuciónman 5 fstab
. Buena suerte compañero.lsattr
, y como mencioné, puede establecerlos porchattr
. Por ejemplo, si quieres hacerlo inmutable, puedes usarlochattr +i /mnt/.swapfile
, o en BSD o OS X puedes usarlochflags uchg yourFile
. Tiene muchas opciones de atributos, por ejemplo, cuandos
se elimina un archivo con conjunto de atributos, sus bloques se pondrán a cero y se volverán a escribir en el disco. Pero le recomiendo que lea su página de manual y navegue por la red. ¡No es tan fácil como parece usarchattr
, y debes estar al tanto de lo que realmente vas a hacer!Tu pregunta, " ¿Cómo asignar más espacio para intercambiar y aumentar su tamaño más que Ram? ", No dice nada acerca de cambiar la forma en que está configurado su sistema.
Su fdisk y salida libre nos dice:
La partición de intercambio no es una partición extendida, esto hace que sea un poco más fácil aumentar el tamaño.
Herramientas necesarias:
Busque aquí una ubicación de la última versión gratuita de Parted Magic
Instrucciones para cambiar el tamaño de particiones con gparted
Recuerde que está cambiando su disco y particiones en un nivel bajo y que cualquier error o bloqueo podría dañar sus datos.
Haga una copia de seguridad de sus datos primero.
fuente
gparted
aquí porque puede poner un hisopo en el mismo disco donde está su sistema operativo./dev/sda2
y/dev/sda3
son particiones separadas.swapon
o similar. Al retirar el dispositivo, haga unaswapoff
o similar. El estado de intercambio del dispositivo no se recordará al reiniciar el sistema operativo.