운영체제/Linux

[Linux] SWAP memory 추가 설정

louky 2019. 4. 25. 11:46
반응형

[Linux] SWAP memory 추가 설정 

 

OS 설치 이후 추가적으로 swap memory를 추가로 설정이 필요할 때가 있다 

그때를 위한 나의 기억을 지배하기 위해 오늘도 끄적거린다. 

....

 

 

 

여기서는 partition으로 swap을 설정 하는 것을 기준으로 작성한다. 

 

step1. Swap 상태 확인하기

[root@test~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3948        216       3732          0         32        123
-/+ buffers/cache:         60       3888
Swap:            0          0          0
[root@test ~]#
[root@test ~]# swapon -s

 swap이 설정 되어 있지 않을 경우 swapon -s 해도 아무런 결과가 없다.

 

step2. swap  영역으로 설정할  partition을 확인한다. 

(swap영역으로 사용할 partition은 /dev/hdb 이다.)

[root@test ~]# fdisk -l

Disk /dev/hda: 34.3 GB, 34359738368 bytes
255 heads, 63 sectors/track, 4177 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        3916    31455238+  83  Linux

Disk /dev/hdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/hdb doesn't contain a valid partition table

step3. partitioning을 한다. 


[root@test ~]# fdisk /dev/hdb
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): p

Disk /dev/hdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-652, default 652):
Using default value 652

Command (m for help): p

Disk /dev/hdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

LABEL=/                 /                       ext3    defaults        1 1
   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         652     5237158+  83  Linux

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 <3 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                      ##  <<==  swap system type code이다. 
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): p

Disk /dev/hdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1         652     5237158+  82  Linux swap / Solaris

Command (m for help): w                     ##     << 변경 된 정보를 저장하고 fdisk르 빠져나간다.  
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

 

step4. mkswap 으로 file system을 생성한다. 

[root@test ~]# mkswap /dev/hdb1
Setting up swapspace version 1, size = 5362843 kB

 

step5. swap memory로 사용할 수 있도록 등록/할당한다. 

[root@test ~]# swapon /dev/hdb1

 

step6. 설정을 확인한다. 

[root@test ~]# swapon -s
Filename Type Size Used Priority
/dev/hdb1                               partition 5237148 1915140 -1

[root@test ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3948        218       3730          0         32        123
-/+ buffers/cache:         62       3886
Swap:         5114          0       5114

 

어느 글에 보니 partition이 아닌  file base로 swap 설정을 권고 하지 않는다고 되어 있는데 어떤 차이점이 있는지는 조금더 확인을 해보고 추가해야 할 거 같다. 

 

 

반응형