본문 바로가기
LINUX/AWS-ORACLE

[AWS] 우분투에 오라클 설치할 시 스왑 영역 만들기

by w1z 2024. 3. 1.

 

  1. 우분투 apt 기본명령어 알아두기
  2. 서버 접속후 패키지 업데이트
  3. 타임존 설정
  4. 스왑 영역 만들기 (가상 메모리 : Virtual memory)
  5. 스왑 영역 크기 조정하는 방법

✨ 우분투 apt 기본명령어 알아두기

#Advanced Package Tools apt는 ubuntu에서 SW를 설치, 업데이트, 제거하는 명령어이다.

#설치된 패키지 목록 보기 명령
$ apt list --installed

#패키지 설치 명령
$ sudo apt install 패키지명

#패키지 제거 명령
$ sudo apt remove 패키지명

#최신 패키지 목록 다운로드 명령 (ubuntu에 설치 가능한 패키지들에 대한 최신 정보를 다운로드)
$ sudo apt update

#설치된 패키지 최신 버전으로 업그레이드
$ sudo apt upgrade

 

✨ 서버접속후 패키지 업데이트 하기 

#서버 접속하기
$ ssh -i [키파일이름].pem ubuntu@[인스턴스 탄력IP]

#패키지 업데이트
$ sudo apt update
$ sudo apt upgrade

#중간에 Y/N을 묻는 메시지가 출력될시 Y를 입력후 엔터

아래와 같은 화면이 나올경우 Ok 누르고 넘어가기

*위의 문구가 신경쓰인다면 .conf 파일 수정 or purge 

$ sudo vi /etc/needrestart/needrestart.conf
# 아래내용 입력후 ESC -> :wq (저장후 나가기)

nrconf{kernelhints} = 0;
nrconf{ucodehints} = 0;

 

 

✨ 타임존 설정하기 

$ date
Mon Aug  1 05:20:35 UTC 2022
$ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
$ date
Mon Aug  1 14:21:27 KST 2022

 

✨ 스왑 영역 만들기 (*중요)

 

1️⃣. 가상 메모리 (Virtual memory) 란?

운영체제에서 실행 중인 프로세스에 할당할 메모리를 RAM 용량보다 2~3배 크게 할당된 메모리를 가상 메모리라고 한다.

즉, 이 운영체제에서 사용하는 메모리 주소는 RAM의 주소가 아니고 RAM 용량보다 2~3배 큰 가상 메모리 주소이다.

 

이 가상 메모리는 작은 페이지(page)들로 나뉜다.

가상 메모리의 페이지들 중 활발하게 사용되는 페이지들은 RAM에 할당되어 있고,

아주 가끔 사용되는 페이지들은 디스크에 할당되어 있다.

 

활발하게 사용되던 페이지가, 시간이 지나 아주 가끔 사용하게 되면 그 페이지는 RAM에서 디스크로 이동한다.

반대로 디스크에 있던 페이지를 읽고 쓰게 되면, 그 페이지는 디스크에서 RAM으로 이동한다.

이러한 이동을 페이징(paging) 혹인 스왑(swap)이라고 부른다.

 

2️⃣. 스왑 영역 (Swap space)

가상 메모리에 할당된 디스크 영역을 스왑 영역(Swap space) 이라고 부른다.

 

3️⃣. 메모리 용량과 디스크 용량 확인

AWS EC2에는 기본적으로 스왑 영역이 만들어져 있지 않다.

 

- 메모리 용량 & 사용량 확인 명령

$ free -m
               total        used        free      shared  buff/cache   available
Mem:            1851         216         314           0        1320        1459
Swap:              0           0           0

swap 영역의 크기가 0으로 설정되어있다.

Linux에서 메모리 용량이 부족하면 시스템이 매우 느려지므로 swap 영역을 만들어야 한다.

 

- 디스크 사용량 확인 명령

$ df
Filesystem      1K-blocks    Used Available Use% Mounted on
/dev/root        30313680 2079996  28217300   7% /
tmpfs              948012       0    948012   0% /dev/shm
tmpfs              379208     976    378232   1% /run
tmpfs                5120       0      5120   0% /run/lock
/dev/nvme0n1p15     99800    5180     94620   6% /boot/efi
tmpfs              189600       4    189596   1% /run/user/1000

Linux에서는 /dev/root가 기본 파일 시스템 으로 본인의 서버는 28,217,300블럭이 사용가능 (28 gb)

 

4️⃣. 스왑 영역 만들기

 

- 스왑 영역으로 사용할 파일 만들기

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 5.0564 s, 212 MB/s

$ ls -l /swapfile
-rw-r--r-- 1 root root 1073741824 Aug  1 15:08 /swapfile

- 생성된 /swapfile 파일을 소유자(root)만 읽고 쓸수 있게 권한 설정하기

$ sudo chmod 600 /swapfile
$ ls -l /swapfile
-rw------- 1 root root 1073741824 Aug  1 15:08 /swapfile

- /swapfile 파일을 스왑 영역으로 설정

$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=5b1a4cd3-c6cc-4582-8a84-a2f53ca58607
$ sudo swapon /swapfile

- /etc/fstab 파일에 swapfile 등록하기 

$ sudo vi /etc/fstab

# /etc/fstab 파일을 오픈후 i 눌러서 insert 모드진입 -> 아래 내용을 추가 -> ESC 누르고 :wq (저장후 나가기)
/swapfile swap swap defaults 0  0

- 메모리 용량 & 사용량 확인 ( 0 에서 1023 으로 늘어난것을 확인할수 있다. )

$ free -m
               total        used        free      shared  buff/cache   available
Mem:            1851         183          81           0        1586        1491
Swap:           1023           0        1023

- 디스크 사용량 확인 ( 사용량이 1gb 늘어남  )

$ df
Filesystem      1K-blocks    Used Available Use% Mounted on
/dev/root        30313680 3128588  27168708  11% /
tmpfs              948012       0    948012   0% /dev/shm
tmpfs              379208     976    378232   1% /run
tmpfs                5120       0      5120   0% /run/lock
/dev/nvme0n1p15     99800    5180     94620   6% /boot/efi
tmpfs              189600       4    189596   1% /run/user/1000

 

✨ 스왑 영역 크기 조정하기 

 

- swapfile 사용 중지 (스왑 영역의 크기 조정을 하려면 사용을 중지해야 함)

$ sudo swapoff -v /swapfile
swapoff /swapfile

- 스왑 영역으로 사용할 파일 다시 생성하기 ( 스왑 영역 크기 = 1M * 10240 = 10GB )

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 79.0249 s, 136 MB/s
$ ls -l /swapfile
-rw------- 1 root root 10737418240 Aug  1 15:36 /swapfile

- 파일을 스왑 영역으로 만들기

$ sudo mkswap /swapfile
Setting up swapspace version 1, size = 10 GiB (10737414144 bytes)
no label, UUID=c9c17dab-12f3-4ffb-acf4-9afd04323bfa
ubuntu@ip-172-31-24-160:~$ sudo swapon /swapfile

- 메모리 용량 & 디스크 사용량 확인

$ free -m
               total        used        free      shared  buff/cache   available
Mem:            1851         179          91           0        1580        1486
Swap:          10239           0       10239
ubuntu@ip-172-31-24-160:~$ df
Filesystem      1K-blocks     Used Available Use% Mounted on
/dev/root        30313680 12565772  17731524  42% /
tmpfs              948012        0    948012   0% /dev/shm
tmpfs              379208      976    378232   1% /run
tmpfs                5120        0      5120   0% /run/lock
/dev/nvme0n1p15     99800     5180     94620   6% /boot/efi
tmpfs              189600        4    189596   1% /run/user/1000