저사양 서버에서 mysql mariadb 가 자꾸 다운되는 현상 및 해결방법
페이지 정보
작성자 관리자 (119.♡.119.69) 작성일 22-07-24 20:41 조회 2,341 댓글 0본문
## 현상
저사양의 가상서버를 사용하고 있는데,
웹 작업중 디비를 연결할 수 없다는 메시지가 떠서 확인해 보면,
mysql 이 죽어 있다.
물론, mysql 을 다시 구동하면 되나,
얼마후에 다시 디비가 다운이 된다.
원인을 찾아 해결하고자 한다.
## 로그
```
....
[ERROR] InnoDB: mmap(.... kbytes) failed; errno 12
....
[ERROR] mysqld: Out of memory (Needed xxxxxxx bytes)
....
```
## 해결 1
/etc/my.cnf 안의 [mysqld] 항목에 다음을 추가한다.
크기는 db 상태를 봐 가면서 조금씩 줄여가면 될 듯 하다.
```
[mysqld]
innodb_buffer_pool_size = 64M
```
디비서버 재시작
```
# systemctl restart mariadb
```
## 해결 2
서버의 절대적인 메모리가 부족한 경우, 예) 512M
스왑파일을 추가해 준다.
스왑파일 크기는 너무 작으면 안되고,
최소 512M 정도 추가해 준다.
## 참고
https://serverfault.com/questions/697033/innodb-mmap68878336-bytes-failed-errno-12
https://i.k-june.com/wp/1990
https://junho85.pe.kr/1456
http://cloudrain21.com/mysql-innodb-basic-performance-tunning
저사양의 가상서버를 사용하고 있는데,
웹 작업중 디비를 연결할 수 없다는 메시지가 떠서 확인해 보면,
mysql 이 죽어 있다.
물론, mysql 을 다시 구동하면 되나,
얼마후에 다시 디비가 다운이 된다.
원인을 찾아 해결하고자 한다.
## 로그
```
....
[ERROR] InnoDB: mmap(.... kbytes) failed; errno 12
....
[ERROR] mysqld: Out of memory (Needed xxxxxxx bytes)
....
```
## 해결 1
/etc/my.cnf 안의 [mysqld] 항목에 다음을 추가한다.
크기는 db 상태를 봐 가면서 조금씩 줄여가면 될 듯 하다.
```
[mysqld]
innodb_buffer_pool_size = 64M
```
디비서버 재시작
```
# systemctl restart mariadb
```
## 해결 2
서버의 절대적인 메모리가 부족한 경우, 예) 512M
스왑파일을 추가해 준다.
스왑파일 크기는 너무 작으면 안되고,
최소 512M 정도 추가해 준다.
## 참고
https://serverfault.com/questions/697033/innodb-mmap68878336-bytes-failed-errno-12
https://i.k-june.com/wp/1990
https://junho85.pe.kr/1456
http://cloudrain21.com/mysql-innodb-basic-performance-tunning
추천0
댓글목록 0
등록된 댓글이 없습니다.