Situação: aumente o tamanho do swap ( /dev/sda3
) maior que Ram (8 GB) quando HD 128 GB
Motivação: 8 GB RAM é muito pouco; 30 GB de espaço livre no meu SSD; Quero transformar 20 GB em SSD swap
Características do sistema
Troque não imutável / mutável. Não consigo encontrar nenhuma evidência de por que
/mnt/.swapfile
deveria ser imutável, para que você não precise alterar os atributos do arquivo swapfilesudo lsattr /mnt/.swapfile -------------e-- /mnt/.swapfile
Comando
sudo fdisk -lu /dev/sda
dáDisk /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
dáFilesystem 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
Aloque mais espaço em disco para Trocar
/dev/sda3
.
Meu fluxo de trabalho sem êxito para a tarefa quando HD e Swap na mesma partição, /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 swap na mesma partição - fluxo de trabalho atual [Ijaz, cas, FarazX]
Mesclando. Use fallocate
no início dd
porque não é necessário colocar zeros
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
Adicione a seguinte linha no seu /etc/fstab
que é melhor do que adicionar a coisa aos seus runlevels ( /etc/rc.local
), onde eu coloquei o swapfile no /mnt/.swapfile
para manter a filosofia Linux / Unix e manter a integridade dos meus scripts de backup do sistema; Se estiver trocando para um SSD, use a discard
opção para que os blocos sejam cortados a cada reinicialização, para que nãosw
# 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
Fontes
- Como aumentar o espaço de troca? https://askubuntu.com/a/178726/25388 Discussão geral sobre como aumentar o espaço de troca para iniciantes.
- HOWTO de partição Linux para HDDs, não SSDs: 4. Requisitos de particionamento. http://www.tldp.org/HOWTO/Partition/requirements.html Portanto, não faça trocas para faixas externas em SSDs, mas use
defaults,discard
opções para aparar seus blocos conforme proposto por @cas.
Sistema: Linux Ubuntu 16.04
Kernel do Linux de 64 bits : 4.6
Módulos Linux: wl
Hardware: Macbook Air 2013 meados de
Ram: 8 GB
SSD: 128 GB
fonte
fdisk -lu /dev/sda
?chflags
BSD e OS X, e um comando no linux chamadochattr
, você pode tornar seus arquivos e diretórios cada vez mais seguros e imutável definindo alguns atributos, aqui está um guia no tecmint.com , espero que isso possa ajudar.Respostas:
Você só quer aumentar o tamanho da troca no seu sistema usando o espaço de
sda2
. Seusda2
Você pode adicionar espaço de troca adicional ao seu sistema usando o arquivo de troca criado
/
que utilizará o seusda2
. Apenas faça:e então faça:
e verifique, você troca de espaço aumentará nessa quantidade usando
free -m
e sim, para habilitá-lo no momento da inicialização, adicione a entrada em
/etc/fstab
fonte
/etc/fstab
poderá evitar as entradasrc.local
. Coloque a algum lugar arquivo de troca como/mnt/.swap
e você não vai precisar se preocupar com isso muito maisGerenciamento de memória
Para exibir o resumo do uso de swap pelo seu dispositivo:
Para exibe a quantidade de memória física e de troca livre e usada:
Para pré-alocar espaço para / swapfile, você pode usar a linha abaixo:
Alterar permissão e criar / ativar swap
Você também pode melhorar a segurança do arquivo alterando os atributos do arquivo usando
chattr
. Eu recomendo que você leia sua página de manual ou leia este guia no site do Tecmint .Verifique se está ativado, visualizando a saída do comando
cat /proc/swaps
, usefree
command ouPara habilitá-lo no momento da inicialização , editar
/etc/fstab
(informações estáticas sobre o sistema de arquivos) para incluir a seguinte onde os campos sãofs_spec
,fs_file
,fs_vfstype
,fs_mntops
,fs_freq
efs_passno
, sobre o qual você pode ler porman 5 fstab
:sw
ao trocar para um SSD, mas paradefaults,discard
que os blocos de memória sejam aparados toda vez na inicialização, consulte a resposta aqui sobre Como fazer interceptação e troca de erros se erro / aviso? Adiscard
opção definitivamente funciona em partições.fonte
dd
pois você pode fazer errado se não souber o que está fazendo,dd
é um comando super poderoso. E o espaço de troca do AFAIK no Linux é usado quando a quantidade de memória física (RAM) está cheia e lembre-se de que não há ponto de montagem. Então eu acho que não importa onde ele está, apenas chmod-lo para 600.fstab
executandoman 5 fstab
. Boa sorte, meu caro.lsattr
e, como mencionei, pode defini-loschattr
. Por exemplo, se você quiser torná-lo imutável, você pode usarchattr +i /mnt/.swapfile
ou no BSD ou OS X você pode usarchflags uchg yourFile
. Você tem muitas opções de atributos, por exemplo, quando um arquivo coms
conjunto de atributos é excluído, seus blocos serão zerados e gravados de volta no disco. Mas eu recomendo que você leia a página de manual e navegue na Internet. Não é tão fácil quanto parecechattr
, e você deve estar ciente do que realmente fará!Você pergunta: " Como alocar mais espaço para trocar e aumentar seu tamanho maior que o Ram? ", Não diz nada sobre mudar a maneira como o sistema é configurado.
Seu fdisk e saída gratuita nos dizem:
A partição de troca não é uma partição estendida, isso facilita um pouco o aumento do tamanho.
Ferramentas necessárias:
Procure aqui um local da última versão gratuita do Parted Magic
Instruções para redimensionar partições com gparted
Lembre-se de que você está alterando seu disco e partições em um nível baixo e que quaisquer erros ou falhas podem danificar seus dados.
Faça backup dos seus dados primeiro.
fonte
gparted
aqui, porque você pode colocar o cotonete no mesmo disco onde está o seu sistema operacional./dev/sda2
e/dev/sda3
são partições separadas.swapon
ou similar. Na remoção do dispositivo, faça umswapoff
ou semelhante. O status de troca de dispositivo não será lembrado na reinicialização do sistema operacional.