tencent cloud

Cloud Virtual Machine

동향 및 공지
제품 동향
공용 이미지 업데이트 동향
운영 체제 공식 지원 종료 계획
제품 공지
제품 소개
CVM 개요
제품 장점
기본 개념
리전 및 가용존
신규 사용자 가이드
Service Regions and Service Providers
제품 요금
요금 개요
과금 방식
과금 항목
과금 방식 변경 개요
인스턴스 구매
사양 변경 요금 설명
연체 설명
빠른 시작
사용자 정의 Linux 인스턴스 구매
사용자 정의 Windows 인스턴스 구매
사용자 가이드
운영 가이드 개요
사용 제한 개요
인스턴스
스팟 인스턴스
예약 인스턴스
이미지
스토리지
백업 및 복구
네트워크
보안
비밀번호/키
모니터링 및 알람
운영 관리
편리한 기능
서버 마이그레이션
온라인 마이그레이션
마이그레이션 요금
장애 처리
CVM에 로그인할 수 없는 문제 처리 방법
Windows 인스턴스 로그인 관련 장애
Linux 인스턴스 로그인 관련 장애
기타 인스턴스 로그인 관련 장애
인스턴스 실행 장애
Linux 인스턴스 메모리 장애
네트워크 장애
실습 튜토리얼
CVM 선택 제안
환경 구축
웹사이트 구축
애플리케이션 구축
시각화 페이지 구축
로컬 파일을 CVM에 업로드
네트워크 성능 테스트
기타 실습 튜토리얼
API 참조
History
Introduction
API Category
Making API Requests
Region APIs
Instance APIs
Cloud Hosting Cluster APIs
Image APIs
Instance Launch Template APIs
Placement Group APIs
Key APIs
Security Group APIs
Network APIs
Data Types
Error Codes
보안 및 컴플라이언스
Cloud Access Management(CAM)
네트워크
자주 묻는 질문
리전 및 가용존 문제
요금
인스턴스 문제
스토리지 문제
이미지 관련 문제
서버 마이그레이션 관련 문제
네트워크 관련 문제
보안 관련 문제
운영 체제 관련 문제
운영 및 모니터링 관련 문제
CAM 관련 문제
NTP 서비스 관련 문제
적용 시나리오 관련 문제
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
용어집

Linux 일반 작업 및 명령어

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2024-02-02 11:34:24

1. Linux 서버 부하(Load Average)란 무엇인가요?

Load는 서버 작업량의 크기를 가늠하는 것으로, 컴퓨터 CPU 작업 실행 큐의 길이가 길수록, 실행 중 및 실행 대기 중인 프로세스 수를 더 많이 포함할 수 있음을 의미합니다.

2. Linux 서버 부하를 확인하는 방법은 무엇인가요?

w, top, uptime, procinfo 명령어를 실행하거나 /proc/loadavg 파일을 액세스하여 확인할 수 있습니다. procinfo 툴을 설치하려면 Linux 환경에서 소프트웨어 설치 관련 문서를 참조 바랍니다.

3. 서버 부하가 높으면 어떻게 하나요?

서버 부하(Load/Load Average)는 프로세스 큐의 길이에 따라 표시됩니다. 서버 부하가 높은 현상은(15분 단위의 평균값 참조 권장) CPU 리소스 부족, I/O 읽기 및 쓰기 병목 현상, 메모리 리소스 부족, 집약형 CPU 계산 등의 이유로 발생할 수 있습니다. vmstat, iostat, top 명령어를 사용해 부하가 너무 높은 원인을 판단하고, 구체적으로 리소스 이용률이 높은 프로세스를 찾아 최적화할 것을 권장합니다.

4. 서버 메모리 사용률을 확인하는 방법은 무엇인가요?

free, top (실행 후 shift+m으로 메모리순 정렬), vmstat, procinfo 명령어를 실행하거나 /proc/meminfo 파일을 액세스하여 확인할 수 있습니다.

5. 개별 프로세스의 이용률을 확인하는 방법은 무엇인가요?

top -p PID, pmap -x PID, ps aux|grep PID 명령어를 실행하거나 /proc/$process_id(프로세스의 PID)/status 파일에서 /proc/7159/status 등의 파일을 액세스하여 확인할 수 있습니다.

6. 사용 중인 서비스 및 포트를 확인하는 방법은 무엇인가요?

netstat -tunlp, netstat -antup, lsof -i:PORT 명령어를 실행하여 확인할 수 있습니다.

7. 서버 프로세스 정보를 확인하는 방법은 무엇인가요?

ps auxww|grep PID, ps -ef, lsof -p PID, top -p PID 명령어를 실행하여 확인할 수 있습니다.

8. 프로세스를 중지하는 방법은 무엇인가요?

kill -9 PID(PID는 프로세스 식별자를 의미), killall 프로그램명(예: killall cron)을 실행하여 프로세스를 중지할 수 있습니다. 좀비 프로세스를 중지해야 하는 경우, 프로세스의 부모 프로세스를 종료해야 합니다. 실행 명령어는 kill -9 ppid(ppid는 부모 프로세스의 ID 번호이며, ps -o ppid PID에서 명령어를 통해 확인할 수 있습니다. 예: ps -o ppid 32535)입니다.

9. 좀비 프로세스를 확인하는 방법은 무엇인가요?

top 명령어를 통해 좀비 프로세스(zombie)의 전체 수를 확인할 수 있고, ps -ef | grep defunct | grep -v grep를 실행하여 좀비 프로세스의 구체적인 정보를 확인할 수 있습니다.

10. 서버 포트를 실행할 수 없는 이유는 무엇인가요?

서버 포트의 실행 리스너는 운영 체제 자체 및 응용 프로그램에서 확인해야 합니다. Linux 시스템에서 1024 이하의 포트는 root 사용자만 실행할 수 있습니다. 즉, 먼저 sudo su –를 실행하여 root 권한을 얻어야 서비스 포트를 활성화할 수 있습니다. 응용 프로그램 문제는 애플리케이션 프로그램 실행 로그를 사용해 포트 충돌(Tencent 서버 시스템이 사용하는 포트 36000을 사용할 수 없는 문제), 설정 문제 등 오류 원인을 진단하시기를 권장합니다.

11. 자주 사용하는 Linux 서버 성능 조회 명령어는 무엇인가요?

명령어 이름
설명
top
프로세스 모니터링 명령어로, 시스템의 전체 성능 모니터링에 사용합니다.
시스템 부하, 프로세스, CPU, 메모리, 페이징 등 정보를 표시할 수 있습니다. 일반적으로 shift + m 및 shift + p를 사용해 메모리 및 CPU 사용량을 기준으로 프로세스를 정렬합니다.
vmstat
버츄얼 메모리에 중점을 둔 시스템 모니터링 명령어로 CPU, 프로세스, 메모리 페이징 및 IO 상태 정보도 모니터링할 수 있습니다.
예시, vmstat 3 10은 3초마다 결과를 출력하며, 10회 동안 실행합니다.
iostat
CPU 상태 및 IO 상태를 출력하는 툴로, 시스템의 IO 정보를 상세히 표시합니다.예시, iostat -dxmt 10은 10초마다 IO 세부 정보를 MB 형식으로 출력합니다.
df
시스템의 디스크 용량 사용 현황을 확인하는 데 사용합니다.
예시, df -m은 디스크 사용 현황을 MB 단위로 표시합니다.
lsof
이뉴머레이션 시스템에서 오픈된 파일로, Linux가 파일 시스템을 기반으로 하기 때문에 이 명령어는 시스템 관리 시에 매우 유용합니다.
예:lsof -i:36000는 36000포트를 사용하는 프로세스를 표시합니다.
lsof -u root는 root로 실행되는 프로그램을 표시합니다.
lsof -c php-fpm는 php-fpm 프로세스에 의해 열린 파일을 표시합니다.
lsof php.ini는 php.ini를 여는 프로세스를 표시합니다.
ps
프로세스 조회 명령어를 사용해 프로세스의 세부 정보를 표시할 수 있습니다.


일반적인 명령어 매개변수 조합은 ps -ef, ps aux이며, ps -A -o를 사용해 출력 필드를 사용자 정의하시기를 권장합니다.예:ps -A -o pid,stat,uname,%cpu,%mem,rss,args,lstart,etime |sort -k6,6 -rn, 나열된 필드에 따라 출력되며 여섯 번째 필드를 기준으로 정렬합니다.ps -A -o comm |sort -k1 |uniq -c|sort -k1 -rn|head, 실행 중인 인스턴스가 가장 많은 프로세스를 나열합니다.

기타 자주 사용되는 명령어 및 파일: free -m, du, uptime, w, /proc/stat, /proc/cpuinfo, /proc/meminfo

12. Cron이 적용되지 않으면 어떻게 해야 하나요?

진단 순서는 다음과 같습니다.
1. crontab이 올바르게 실행되는지 확인합니다.
1.1 crontab -e 명령어를 실행하고 다음의 테스트 항목을 추가합니다.
\\*/1 \\* \\* \\* \\* /bin/date >> /tmp/crontest 2>&1 &
1.2 /tmp/crontest 파일을 확인합니다.
1.3 문제가 있다면, 'ps aux|grep cron'을 사용해 cron의 pid를 찾습니다. 'kill -9 PID'로 cron 프로세스를 종료하고, '/etc/init.d/cron start' 명령어를 실행하여 cron을 재시작합니다.
2. cron 항목의 스크립트 경로가 절대 경로인지 확인합니다.
3. cron을 실행하는 사용자 계정이 올바른지 확인하고, '/etc/cron.deny'에 해당 계정이 포함되어 있는지 확인합니다.
4. 스크립트의 실행 권한, 스크립트 디렉터리 및 로그의 파일 권한을 확인합니다.
5. 백그라운드 방식으로 스크립트를 실행하고, 스크립트 항목 뒤에 "&"을 추가합니다. 예: \\*/1 \\* \\* \\* \\* /bin/date >> /tmp/crontest 2>&1 &.

13. CVM 시작 작업은 어떻게 설정하나요?

Linux 커널 시작 순서는 다음과 같습니다.
1. '/sbin/init' 프로세스를 실행합니다.
2. init 초기 스크립트를 차례대로 실행합니다.
3. 런 레벨 스크립트 /etc/rc.d/rc\\*.d, * 계수값은 실행 모드와 같습니다. /etc/inittab 에서 확인할 수 있습니다.
4. /etc/rc.d/rc.local 을 실행합니다.
설명:
시작 작업을 구성해야 할 경우 /etc/rc.d/rc\\*.dS\\*\\*rclocal 파일에서 구성하거나 /etc/rc.d/rc.local 에서 구성할 수 있습니다.

14. 서버 디스크가 읽기 전용인 이유는 무엇인가요?

디스크가 읽기 전용인 이유는 다음과 같습니다.
전체 디스크 공간 가득 찬 경우 df -m 명령어를 사용해 디스크 사용량을 확인한 후, 필요 없는 파일을 삭제하여 디스크 용량을 확보할 수 있습니다(3rd party 이외의 파일은 삭제하지 않는 것이 좋습니다. 필요한 경우 확인 바랍니다).
디스크 inode 리소스를 모두 사용한 경우 df -i 명령어를 실행하여 관련 프로세스를 확인 및 확인할 수 있습니다.
하드웨어 장애인 경우
hosting 애플리케이션에서 위 방법으로 원인을 확인할 수 없으면 핫라인 또는 티켓 제출을 통해 문의 바랍니다.

15. Linux 시스템 로그를 확인하려면 어떻게 해야 하나요?

시스템 레벨의 로그 파일 저장 경로는 /var/log입니다.
자주 사용하는 시스템 로그는 '/var/log/messages'입니다.

16. 파일 시스템의 대용량 파일을 찾는 방법은 무엇인가요?

다음 순서를 실행하여 찾을 수 있습니다.
1. df 명령어를 실행하여 디스크 파티션 사용 현황을 확인합니다. 예: df -m
2. du 명령어를 실행하여 구체적인 폴더의 크기를 확인합니다. 예: du -sh ./*, du -h --max-depth=1|head -10
3. ls 명령어를 실행하여 파일과 파일 크기를 정렬합니다. 예: ls -lSh. find 명령어로도 특정 디렉터리 아래의 파일 크기를 바로 확인할 수 있습니다. 예: find / -type f -size +10M -exec ls -lrt {} \\

17. 서버 운영 체제 버전을 확인하는 방법은 무엇인가요?

다음 명령어를 실행하여 시스템의 버전을 확인할 수 있습니다.
uname -a
cat /proc/version
cat /etc/issue

18. Linux 터미널에 표시된 중국어가 깨지는 이유는 무엇인가요?

서버 자체는 표시 언어를 제한하지 않습니다. 터미널 소프트웨어가 중국어 표시에 영향을 주는 경우, [옵션]> [세션 옵션]> [모양](secureCRT 설정, 기타 버전 소프트웨어는 관련 설정을 확인)에서 변경할 수 있습니다. 단순히 Linux shell에서 깨진 글자가 나타나면, export 명령어를 사용해 사용자의 LANG, LC_CTYPE 등 환경 변수 설정을 확인 바랍니다.

19. SecureCRT를 통해 CVM에 연결 시 타임아웃 시간은 어떻게 설정하나요?

SecureCRT가 CVM에 연결되면, 다음 설정을 통해 끊김 없이 연결할 수 있습니다.
1. [SecureCRT 옵션(Options)]을 엽니다.
2. [세션 옵션(Session Options)]을 선택하고 [터미널(Terminal)]을 클릭합니다.
3. 오른쪽의 Anti-idle 상자에서 [프로토콜 발송 NO-OP(Send protocol NO-OP)]을 선택하고 시간을 120초마다(every 120 seconds)로 설정합니다.

20. Linux 서버에서 파일을 삭제해도 디스크 용량이 확보되지 않는 원인은 무엇인가요?

원인:
Linux 서버에 로그인하고 rm 명령어를 실행하여 파일을 삭제한 후에, ‘df’ 명령어를 실행하여 디스크 공간을 확인한 결과, 파일을 삭제했음에도 사용 가능한 디스크 용량이 증가하지 않을 수 있습니다. 그 이유는 rm 명령어로 파일을 삭제할 때 다른 프로세스가 해당 파일에 액세스하는 중이었다면, df 명령어를 실행하여 확인해도 삭제된 파일이 사용한 공간이 즉시 확보되지 않기 때문입니다.
해결 방법:
1. root 권한으로 lsof |grep deleted 명령어를 실행하여 삭제된 파일을 사용 중인 프로세스의 PID를 확인합니다.
2. 'kill -9 PID' 명령어를 사용해 해당 프로세스를 종료합니다.

21. Linux 서버상의 파일을 삭제하는 방법은 무엇인가요?

rm 명령어를 통해 파일을 삭제할 수 있으나, 해당 명령어로 삭제한 파일은 복구할 수 없으니 신중히 사용하시기 바랍니다. rm 명령어의 형식은 rm(옵션)(매개변수)입니다.
옵션: -d: 삭제할 디렉터리의 고정 연결 데이터를 0으로 하여 삭제한 다음 해당 디렉터리를 삭제합니다. -f: 파일 또는 디렉터리를 강제로 삭제합니다. -i: 기존 파일 또는 디렉터리를 삭제하기 전에 사용자에게 먼저 묻습니다. -r 또는 -R: 재귀적 처리로, 지정한 디렉터리 하의 모든 파일 및 서브 디렉터리를 함께 처리합니다. --preserve-root: 루트 디렉터리에 대해서는 재귀 작업을 실행하지 않습니다. -v: 명령의 상세한 실행 과정을 표시합니다.
매개변수: 파일, 삭제될 파일 목록이며, 매개변수에 디렉터리가 있으면 -r 또는 -R 옵션을 추가해야 합니다.
예:
test.txt 파일을 삭제하려면 rm test.txt를 실행합니다.
test 디렉터리를 삭제하려면 rm -r test를 실행합니다.
현재 디렉터리 하의 모든 파일 및 서브 디렉터리를 삭제하려면 rm -r *를 실행합니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백