Início > SO > Criando partição e arquivo de swap no Linux

Criando partição e arquivo de swap no Linux

Bom vamos lá, hoje eu vou abordar como criar 1 partição swap e vou abordar como criar 1 arquivo de swap que é bem interessante caso a partição de swap não seja suficiente. Bom vamos lá primeiramente o que seria swap

Swap é um espaço em disco usado pelo sistema operacional quando a memória RAM está cheia, a RAM é dezenas de vezes mais rápida que uma swap em um disco rígido.

Bom agora vamos abordar 1 conceito que sempre há opniões distintas das pessoas que criam os ambientes, qual o tamanho da swap? Algumas pessoas dizem e afirmam que precisa ter pelo menos metade do tamanho da memória RAM o que seria o suficiente, ou seja 512m de memoria RAM 256m de swap, porém não necessariamente precisa ter apenas metade ou seria muito metade, isso depende da utilização de memória do servidor da carga que irá realizar, agora se o servidor está swapando muito eis que você tem um problema de memória no servidor é necessário adicionar mais memória no ambiente para sempre evitar sua alta utilização, o certo é sempre evitar utilizar a swap, já que swap é muito mais lento que a memória RAM.

Bom vamos lá a pratica, para verificar sua utilização utilizar o comando abaixo:

[root@hodb002vtr ~]# free
total used free shared buffers cached
Mem: 1571500 387532 1183968 0 22964 275724
-/+ buffers/cache: 88844 1482656
Swap: 200804 0 200804
[root@hodb002vtr ~]#

Lembrando que traz em kb para ou seja eu tenho 200804kb de swap no meu ambiente, bom vamos lá criar 1 partição de swap no ambiente.

Vou criar 1 partição de swap primeiramente:

[root@hodb002vtr ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 83 Linux
/dev/sda2 2551 2575 200812+ 82 Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn’t contain a valid partition table
[root@hodb002vtr ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won’t be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition’s system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Command (m for help): n
Command action
e extended
p primary partition (1-4)

Partition number (1-4): 1
First cylinder (1-261, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): +1G

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): l

0 Empty 1e Hidden W95 FAT1 80 Old Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / old Lin c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c7 Syrinx
5 Extended 41 PPC PReP Boot 85 Linux extended da Non-FS data
6 FAT16 42 SFS 86 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 NTFS volume set de Dell Utility
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt
9 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
f W95 Ext’d (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq diagnost 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 Hidden FAT16❤ 61 SpeedStor a9 NetBSD f2 DOS secondary
16 Hidden FAT16 63 GNU HURD or Sys ab Darwin boot fb VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@hodb002vtr ~]# fdisk -l

Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 2550 20482843+ 83 Linux
/dev/sda2 2551 2575 200812+ 82 Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 82 Linux swap / Solaris

Pronto partição de swap criada vamos formata-la

[root@hodb002vtr ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 1011671 kB

Ativar o swap para a partição:

[root@hodb002vtr ~]# swapon /dev/sdb1
[root@hodb002vtr ~]# free
total used free shared buffers cached
Mem: 1571500 389160 1182340 0 23164 275744
-/+ buffers/cache: 90252 1481248
Swap: 1188760 0 1188760
[root@hodb002vtr ~]#

Pronto partição de swap criada.
– Eu não contente com isso agora vou abordar como você criar 1 arquivo de swap em qualquer lugar do SO você poderá cria-lo basta apenas ter espaço, agora vamos criar o arquivo de swap:

[root@hodb002vtr ~]# cd /
[root@hodb002vtr /]# ls
bin boot dev etc home lib lost+found media misc mnt net opt oracle11 proc root sbin selinux srv sys tftpboot tmp u01 usr var
[root@hodb002vtr /]# mkdir swap
[root@hodb002vtr /]# cd swap
[root@hodb002vtr swap]# ls -l
total 0
[root@hodb002vtr swap]# dd if=/dev/zero of=/swap/swapfile.swp count=500000
500000+0 records in
500000+0 records out
256000000 bytes (256 MB) copied, 11.3901 seconds, 22.5 MB/s
[root@hodb002vtr swap]#

Vamos formata-lo o arquivo:

[root@hodb002vtr swap]# mkswap /swap/swapfile.swp
Setting up swapspace version 1, size = 255995 kB

Habilitar o swap no arquivo, segue:

[root@hodb002vtr swap]# swapon /swap/swapfile.swp

Pronto criado 1 arquivo de 500mb de swap

[root@hodb002vtr swap]# free
total used free shared buffers cached
Mem: 1571500 642924 928576 0 23612 525780
-/+ buffers/cache: 93532 1477968
Swap: 1438752 0 1438752
[root@hodb002vtr swap]#

Noss minha maquina ficou no final com quase 1,5g de swap, rs

Vou aumentar ainda mais, pois não fiquei contente quero redimensionar, achei muito pouco vou aumentar mais 500mb neste arquivo de swap, então vamos lá:

Bou desabilitar o swap primeiramente

[root@hodb002vtr swap]# swapoff /swap/swapfile.swp
[root@hodb002vtr swap]#

Agora vamos alterar o arquivo de swap:

[root@hodb002vtr swap]# dd if=/dev/zero of=/swap/swapfile.swp bs=1024 count=1000000
1000000+0 records in
1000000+0 records out
1024000000 bytes (1.0 GB) copied, 22.4979 seconds, 45.5 MB/s
[root@hodb002vtr swap]# dd if=/dev/zero of=/swap/swapfile.swp count=1000000
1000000+0 records in
1000000+0 records out
512000000 bytes (512 MB) copied, 19.6497 seconds, 26.1 MB/s
[root@hodb002vtr swap]# mkswap /swap/swapfile.swp
Setting up swapspace version 1, size = 511995 kB
[root@hodb002vtr swap]# swapon /swap/swapfile.swp

Eu coloquei o parametro BS e tive um resultados diferentes de 1gb do arquivo e sem o bs apenas 512mb, o count você precisa colocar em KB, conforme acima demonstrado.

Bom para redimensionar a partição, você precisaria trabalhar com LVM, se não apenas você adicionando um nova partição de swap.
Abraço!

Categorias:SO
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: