2025-11-30
오늘 배운 것
Linux
1. 프로세스 / 스레드
개념
- 프로세스: 실행 중인 프로그램. 독립된 메모리 공간 보유.
- 스레드: 프로세스 내부의 실행 단위로 메모리 대부분을 공유.
- Context Switching: CPU가 다른 프로세스로 전환되는 과정.
면접 질문
ps,top,htop사용 목적- CPU 100% 프로세스 원인 분석 절차
- 스레드 개수 조회:
ps -T -p <pid> - 시그널 차이:
SIGTERMvsSIGKILL
2. 프로세스 관리 명령어
ps aux: 전체 프로세스 조회top / htop: 시스템 리소스 실시간 모니터링kill -9 PID: 프로세스 강제 종료nice / renice: 프로세스 우선순위 조정systemctl: 서비스 관리- OOM 로그 확인:
/var/log/messages,dmesg | grep -i kill
3. 파일 시스템 / 디렉토리 구조
주요 디렉토리
/etc: 시스템 설정 파일/var/log: 시스템 및 애플리케이션 로그/usr/bin,/usr/sbin: 실행 파일/home: 사용자 홈 디렉토리/proc: 프로세스 및 커널 정보 제공하는 가상 파일/opt: 별도 설치 소프트웨어 위치
디스크 관리
df -h: 전체 디스크 사용량du -sh: 특정 디렉토리 용량- inode 확인:
df -i
면접 질문
- 디스크 100% 사용 시 대응 절차
- logrotate 개념과 설정 이유
4. 권한 / 퍼미션 / 링크
퍼미션
rwx의미- 644: 읽기/쓰기 + 읽기
- 755: 읽기/쓰기/실행 + 읽기/실행
링크
- Hard Link: 같은 inode 공유
- Soft Link: 경로 기반 링크 (inode 다름)
면접 질문
- 실행 권한 오류 대처
- 심볼릭 링크 깨지는 이유
5. 네트워크 명령어
ping: 네트워크 연결 확인curl: API 호출 테스트ss -lntp: 포트 listening 상태 확인lsof -i :8080: 특정 포트 점유 프로세스 확인netstat -anp: 네트워크 연결 정보(구버전)
면접 질문
- 서버 접속 불가 시 진단 순서
- 포트 충돌 문제 해결 프로세스
6. 메모리 / CPU 분석
free -m: 메모리 사용량vmstat: CPU/메모리/IO 확인top: 리소스 문제 확인
면접 질문
- 메모리 누수 확인 경로:
/proc/<pid>/smaps -
Java 기반 서버 CPU 스파이크 분석 흐름
(top → PID → ps -Lf → jstack)
7. 로그 관리
주요 로그 파일
/var/log/messages/var/log/syslog/var/log/auth.log
모니터링
tail -f file.logtail -f file | grep ERROR
면접 질문
- 로그 폭증으로 인한 장애 사례와 대응법
- logrotate 기본 방식
8. 서비스 관리 (systemd)
systemctl start/stop/status xxx.servicesystemctl enable: 부팅 시 자동 실행journalctl -u xxx.service: 서비스 로그 확인systemctl daemon-reload: 설정 변경 반영
면접 질문
- nohup, &, systemd의 차이
- 백그라운드 프로세스가 죽는 이유와 해결 방법
9. 쉘 / 환경 변수
개념
- bash, zsh 등 쉘 종류
- 환경 변수 파일
~/.bashrc~/.bash_profile/etc/profile
면접 질문
- 환경 변수 적용되지 않을 때 점검 순서
- 로그인 쉘/비로그인 쉘 차이
10. 리눅스 부하 분석 흐름
- CPU 급증 → top → 해당 PID → 스레드 수 → jstack
- 메모리 부족 → free → OOM 로그 → heap dump
- 포트 충돌 → ss/lsof → 프로세스 정리
- 디스크 FULL → df → du → 로그 삭제 또는 압축
- IO 병목 → vmstat/iostat 분석