CentOS Stream 에서 Swap 메모리를 생성 운용하는 법

스왑 메모리 확인:

다음 명령어들을 사용하여 스왑 메모리의 존재와 사용량을 확인할 수 있습니다

bashCopyfree -h

이 명령어는 메모리와 스왑 사용량을 사람이 읽기 쉬운 형태로 보여줍니다.

bashCopyswapon --show

이 명령어는 현재 사용 중인 스왑 공간의 세부 정보를 표시합니다.

bashCopycat /proc/swaps

이 명령어는 활성화된 스왑 영역에 대한 정보를 표시합니다.

스왑 파일 생성 및 활성화:

스왑 메모리가 없거나 추가가 필요한 경우, 다음 단계를 따라 스왑 파일을 생성하고 활성화할 수 있습니다:

#!/bin/bash

# 스왑 파일 크기 설정 (GB 단위)
SWAP_SIZE=2

# 스왑 파일 생성
sudo fallocate -l ${SWAP_SIZE}G /swapfile

# 권한 설정
sudo chmod 600 /swapfile

# 스왑 파일 포맷
sudo mkswap /swapfile

# 스왑 활성화
sudo swapon /swapfile

# 부팅 시 자동 마운트를 위해 /etc/fstab에 추가
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 스왑 설정 확인
echo "Swap configuration:"
free -h
swapon --show

echo "Swap file created and activated successfully."

이 스크립트를 사용하려면:

스크립트를 서버의 적절한 위치(예: /home/centos/create_swap.sh)에 저장합니다.
실행 권한을 부여합니다:

Copychmod +x /home/centos/create_swap.sh

루트 권한으로 스크립트를 실행합니다:

Copysudo /home/centos/create_swap.sh

주의사항:

스크립트는 기본적으로 2GB의 스왑 파일을 생성합니다. 필요에 따라 SWAP_SIZE 변수를 수정하여 크기를 조정할 수 있습니다.
스왑 파일 크기는 시스템의 RAM 크기와 워크로드에 따라 다르게 설정해야 합니다. 일반적으로 RAM의 1~2배 정도로 설정합니다.
이미 스왑 파일이 존재하는 경우, 이 스크립트를 실행하기 전에 기존 스왑을 비활성화하고 제거해야 합니다.

스왑 메모리 관리에 대한 추가 팁:

스왑 사용량이 너무 높으면 시스템 성능이 저하될 수 있습니다. 정기적으로 모니터링하는 것이 좋습니다.
SSD를 사용하는 경우, 스왑 사용으로 인한 디스크 수명 단축을 고려해야 합니다.
클라우드 환경에서는 프로바이더의 권장사항을 따르는 것이 좋습니다.


현재 스왑메모리가 Swap: 8G 이렇게 운용되고 있는데 이걸 16G 로 늘리려면?

현재 8GB의 스왑 메모리를 16GB로 늘리는 과정은 다음과 같습니다. 이 과정에서는 기존 스왑을 비활성화하고 새로운 크기의 스왑 파일을 생성한 후 활성화합니다.

#!/bin/bash

# 새로운 스왑 크기 설정 (GB)
NEW_SWAP_SIZE=16

# 현재 스왑 파일 위치 확인
CURRENT_SWAP_FILE=$(swapon --show=NAME --noheadings)

# 스왑 비활성화
sudo swapoff -a

# 기존 스왑 파일이 있다면 삭제
if [ -n "$CURRENT_SWAP_FILE" ]; then
    sudo rm $CURRENT_SWAP_FILE
fi

# 새로운 스왑 파일 생성
sudo fallocate -l ${NEW_SWAP_SIZE}G /swapfile

# 권한 설정
sudo chmod 600 /swapfile

# 스왑 파일 포맷
sudo mkswap /swapfile

# 새 스왑 활성화
sudo swapon /swapfile

# /etc/fstab 업데이트
# 먼저 기존 스왑 항목 제거
sudo sed -i '/swap/d' /etc/fstab
# 새 스왑 파일 항목 추가
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 새 스왑 설정 확인
echo "New swap configuration:"
free -h
swapon --show

echo "Swap file expanded to 16GB and activated successfully."

이 스크립트를 사용하려면:

스크립트를 서버의 적절한 위치(예: /home/centos/expand_swap.sh)에 저장합니다.
실행 권한을 부여합니다:

Copychmod +x /home/centos/expand_swap.sh

루트 권한으로 스크립트를 실행합니다:

Copysudo /home/centos/expand_swap.sh

주의사항:

이 스크립트는 현재 스왑을 비활성화하고 새로운 스왑 파일을 생성합니다. 이 과정에서 일시적으로 시스템의 메모리 사용량이 증가할 수 있습니다.
충분한 디스크 공간이 있는지 확인하세요. 16GB의 여유 공간이 필요합니다.
실행 전에 중요한 작업을 저장하고, 가능하다면 시스템 부하가 적은 시간에 실행하세요.
스크립트 실행 중 오류가 발생하면 시스템이 스왑 없이 작동할 수 있으므로 주의가 필요합니다.
클라우드 환경에서는 프로바이더의 권장사항을 따르는 것이 좋습니다.

스크립트 실행 후:

free -h 명령어로 새로운 스왑 크기를 확인하세요.
시스템을 재부팅하여 모든 변경사항이 제대로 적용되었는지 확인하는 것이 좋습니다.

워드프레스 추가 보안설정

wp-config.php 전역 설정 파일에 아래와 같은 설정이 추가되며, 각 설정 내용은 다음과 같습니다.
각 항목에 대한 설명을 참고 바라며, 파일 내 설정을 주석 처리 함으로써 간단히 비활성화 하실 수 있으나 보안 강화를 위해 유지를 권장 합니다.

/* custom security setting */
define('DISALLOW_FILE_EDIT',true);
define('IMAGE_EDIT_OVERWRITE',true);
define('DISABLE_WP_CRON',true);
define('EMPTY_TRASH_DAYS',7);
define('DISALLOW_FILE_EDIT',true);
워드프레스 관리자 패널에서 테마파일 편집기 항목을 비활성화 합니다.
워드프레스 침해 사고 중 가장 높은 비율이 관리자 권한 탈취이며, 테마 편집기를 통해 사용중인 ( 또는 설치되어 있는 ) 테마/플러그인 파일을 직접 수정하여 악성코드를 심는 과정을 거치게 됩니다. 테마파일 편집기 기능을 비활성화 함으로써 직접적으로 파일에 코드를 심는 문제를 해결 할수 있습니다.

블럭테마 관련 참고 사항 : 
워드프레스 코어 5.9.3에서 기존 제공하는 블럭테마를 사용하는 경우 블럭편집기 메뉴가 노출 됩니다. 이 설정은 텍스트 기반 편집기 접근을 제한하는 역할을 합니다.

define(‘IMAGE_EDIT_OVERWRITE’,true);
워드프레스 라이브러리에 업로드된 미디어 파일을 수정하는 경우 ( 썸네일을 생성 하거나, 사이즈를 수정하는 등의 ) 수정 하기 전의 원본 파일을 그대로 유지합니다. 때문에 수정할 때마다 서버 내에는 미디어 파일을 중복으로 계속 생성하고 유지하게 되며 할당된 하드 용량을 계속 사용하게 됩니다.
IMAGE_EDIT_OVERWRITE 설정을 활성화 함으로써 이와 같은 파일 수정 작업시 기존 이미지 파일에 overwrite 함으로써 중복으로 생성되는 문제를 해결 할 수 있습니다. 

define(‘EMPTY_TRASH_DAYS’,7);
워드프레스에서 작성된 POST, PAGE등을 삭제하는 경우 완전히 삭제하지 않고 휴지통에 30일 동안 유지를 하게 됩니다.
이 기간 동안 DB에 보관을 하고 있는 것인데 이 기간을 줄임으로써 DB 사이즈와 속도의 부담을 줄일 수 있습니다.
7일 이상 지난 POST의 경우 휴지통에서 삭제되도록 함으로써 위와 같은 문제를 줄입니다.

    linux에서 파일 이름으로 찾아서 일괄 삭제하는 법

    find . -name "*A2*" | xargs rm

    “*A2*” 에서 *는 모든 문자를 말한다.

    즉, A2만 포함한다면, A2 앞뒤로 어떤 글자가 와도 상관없다는 뜻이다.

    따라서, find . -name “*A2*” 라고 하면 파일명에 A2가 포함된 파일들을 찾아준다.

    | 기호는 파이프인데, find 에서 나온 결과들을 넘겨준다.

    그걸 인자로 받는 것이 xargs 이고, rm은 파일 삭제 명령어이다.

    원글 참조 : linux에서 파일 이름으로 찾아서 일괄 삭제.. : 네이버블로그 (naver.com)