[Ubuntu] MySQL 8 메모리 줄이기

[Ubuntu] MySQL 8 메모리 줄이기
Photo by Rubaitul Azad / Unsplash

사용환경

  • OS : Ubuntu 22.04 LTS (Jammy Jellyfish)
  • DB : MySQL 8.0.34

A. 작업이유

현재 iwinv를 통해서 아주 작은 사이즈의 가상서버를 임대해서 사용하다보니 메모리가 1 GB뿐이다. 문제는 DB인 MySQL을 올려야하고 NodeJS로 구동되는 ghost 블로그까지 올리려니 서비스를 다 올리고나면 가용메모리가 너무 적다(대략 80MB 정도...)

매주 OS 업데이트 작업을 진행하는데 가용메모리가 적다보니 OS 업데이트 (apt update && apt upgrade)하다가 서버가 Out of Memory로 Hang이 걸리는 문제가 있어서 매번 ghost 서비스를 내려놓고 작업을 하고 있었다.

거기에 이번에 ghost 업그레이드를 진행하려고 하니 가용메모리가 부족하다면서 업그레이드가 막히는 문제까지... 결국 MySQL이 사용하는 메모리를 좀 회수해야겠다는 생각이 들었다.(애초에 가상서버의 등급을 1단계 올린 것도 MySQL 돌리려고...)

B. 작업

구글링을 통해서 몇 개의 문서들을 검토해보니, 대부분은 성능이슈로 나와는 다르게 MySQL이 사용하는 메모리를 늘리는 경우였다. 그래도 나처럼 MySQL이 사용하는 메모리를 줄이려는 사람이 있어서 해당 문서를 토대로 작업을 진행했다.

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

위 설정파일을 열어서 제일 하단에 아래의 내용을 넣었다.

performance_schema = off
innodb_buffer_pool_size = 100M
max_connections = 10
max_user_connections = 5

그 뒤에는 MySQL 서버를 재기동!

$ sudo systemctl restart mysql.service

원래는 참고문서에 있는 설정을 그대로 했더니... MySQL 서버가 올라가면서 죽어버려서 딱 필요해보이는 설정만 골랐다. 그랬더니 정상적으로 기동완료!

C. 점검

작업 후 free 명령어로 가용한 메모리 확인을 해보면...

$ free -m
               total        used        free      shared  buff/cache   available
Mem:             957         437         304           1         215         368
Swap:              0           0           0
$

free 메모리가 96 -> 304로 대폭 상승!(시간이 지나면서 조금씩 줄긴함...) (나중에 다시 읽어보니 free만 볼게 아니라 buff/cache 값도 같이 봤어야하는데... 포스팅 완료하고 기존 콘솔데이터가 남지 않아서 알 수가 없다... 그래도 유의미하게 MySQL 메모리 사용율이 떨어진 것은 사실이니.. 대충 넘어간다;;)

그래도 가용한 메모리가 10% 정도였다가 31.7%로 늘어났으니 아마 숨통이 트일 것 같다.

MySQL 메모리를 회수하고나서 ghost를 사용해봤는데 아직까진 특별히 느리다거나 하는 느낌을 들진 않는다.

D. 참고문서

  1. [MySql] mysql 사용 메모리 줄이기, 코드루덴스, codens, 2019/09/23

Read more

[F1] 2024년 시즌초반 감상평 및  팀별 단상

[F1] 2024년 시즌초반 감상평 및 팀별 단상

작년에 이어서 올해도 쿠팡플레이를 통해서 전 시즌 F1 중계를 볼 수 있다. 딱히 다른 스포츠에 대해서 관심이 유독 없는데... 홍대병(마이너 취향??)인건지 사이버포뮬러의 영향(어릴 때 많이 보고.. 어른이 되서도 몇 번을 다시 본 것 같음..)인 것인지 F1이 너무 재미있더라. 넷플릭스에서 F1 다큐시리즈(본능의 질주, 빈디젤이 나오는 분노의

By simplism
[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

[Ubuntu] NFS 클라이언트 설치 및 NFS볼륨 마운트작업

사용환경 * OS : Ubuntu 22.04 LTS (Jammy Jellyfish) * Dokuwiki : Release 2024-02-06a "Kaos" * NAS : Synology DSM 7.1.1 A. 시작하기 전에.. 미니PC에 dokuwiki 설치하고 본격적으로 운영하기 전에 정기적인 백업을 해야할 것 같다. 그렇다고... 수동으로 주기적으로 하기에는 너무 번거롭고.. 윈도우즈 PC에서 사용하던 백업솔루션이 ubuntu도 지원해서 그 백업솔루션을 설치하기 전에

By simplism
[Ubuntu] Hyper-V 2세대로 설치

[Ubuntu] Hyper-V 2세대로 설치

사용환경 * Host : Windows 10 Pro (22H2) * Guest : Ubuntu 22.04 LTS A. 시작하기 전에.. 업무상 윈도우즈를 사용할 수 밖에 없는데.. 여전히 Ubuntu가 필요해서 Hyper-V에 Ubuntu를 설치해서 사용하고 있다. 새로 Ubuntu 가상서버를 설치하면서 예전에는 가상서버를 1세대로 만들었었는데 2세대로 만들어보고 싶었다. 그래서 찾아보니... 우분투를 지원한다! 물론 호환표에 Ubuntu 22.04가 명기되어 있지는

By simplism