728x90
반응형

커널파라미터 변경 함수 

test.sh 
cat() {
  declare -A PROC=(
    ["/proc/sys/kernel/shmmax"]=42949675
    ["/proc/sys/kernel/shmmni"]=4096
    ["/proc/sys/kernel/shmall"]=2097152
    ["/proc/sys/fs/file-max"]=6815744
  )
  [[ ${PROC[$1]} == "" ]] && /usr/bin/cat $* || echo ${PROC[$1]}
}
free() { echo "Swap: 2048 0 2048"; }
free
cat /proc/sys/kernel/shmmax

 

Linux grep 사용법

  • 특정 문자열일 찾아서 중복 제거 하는 명령 
grep "찾는 문자열" log_file.log | sort | uniq

 

  • cut 명령을 사용해 중복 문자열 제거 하는 방법 
    • grep "첫번째 문자열 기준으로 로그의 패턴 문자를 1차 선별 한다. " log_file.log: ERROR_INVALID_PROTOCOL(-12030)를 포함한 줄을 로그 파일에서 검색합니다.
    • cut -d ' ' -f  5-14 : 공백(' ')을 구분자로 하여 다섯 번째 필드부터 끝까지의 메시지를 추출합니다. 즉, 오류 코드 및 그 이후 메시지 5-14 문자열 부분 만 추출합니다.
    • sort: 추출한 결과를 정렬 하고 
    • uniq: 중복된 항목을 제거 한다. 
 grep "찾는 문자열을 포함 하는 패턴" sys.log | cut -d ' ' -f 5-14 |sort | uniq

 

 

IPC(Inter-Process Communication) 자원 삭제(ipcrm)

  • 현재 사용자가 생성한 메시지 큐, 세마포어, 공유 메모리 자원을 모두 해제하여 시스템 리소스를 정리하는 스크립트이다 .
#!/bin/bash

echo "=== IPC 자원 정리 시작 ($USER) ==="

# 1. ID 추출 (명령어 실행 구문 $() 추가 및 awk 사용)
# $2는 ID, $3는 소유자(Owner)인 경우가 일반적입니다.
MSGID=$(ipcs -q | grep "$USER" | awk '{print $2}')
SEMID=$(ipcs -s | grep "$USER" | awk '{print $2}')
SHMID=$(ipcs -m | grep "$USER" | awk '{print $2}')

# 2. 메시지 큐(Message Queue) 삭제
if [ -n "$MSGID" ]; then
    for msgq in $MSGID
    do
        echo "Deleting Message Queue ID: $msgq"
        ipcrm -q $msgq
    done
else
    echo "삭제할 메시지 큐가 없습니다."
fi

# 3. 세마포어(Semaphore) 자원 정리
if [ -n "$SEMID" ]; then
    for sem in $SEMID
    do
        echo "Deleting Semaphore ID: $sem"
        ipcrm -s $sem
    done
else
    echo "삭제할 세마포어가 없습니다."
fi

# 4. 공유 메모리(Shared Memory) 자원 해제
if [ -n "$SHMID" ]; then
    for shm in $SHMID
    do
        echo "Deleting Shared Memory ID: $shm"
        ipcrm -m $shm
    done
else
    echo "삭제할 공유 메모리가 없습니다."
fi

echo "=== 정리 완료 ==="

 

728x90
반응형

'IT지식' 카테고리의 다른 글

[Mkdocs] Mkdocs 설치 및 사용 방법  (0) 2025.01.14
[IT지식] REST FUL 이란?  (0) 2022.06.04
[IT 지식]스케일 아웃 vs 스케일 업  (0) 2022.04.18

+ Recent posts