tencent cloud

피드백

Linux 상용 조작 및 명령

마지막 업데이트 시간:2020-01-02 14:33:00

    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 PIDpmap -x PIDps aux|grep PID 커맨드를 실행하거나,/proc/$process_id(프로세스한 PID)/status에 액세스하여 /proc/7159/status 파일과 같은 파일을 조회할 수 있습니다.

    6. 사용 중인 서비스 및 포트를 조회하는 방법은 무엇입니까?

    netstat -tunlpnetstat -antuplsof -i:PORT 커맨드를 실행하여 조회할 수 있습니다.

    7. 서버 프로세스 정보를 조회하는 방법은 무엇입니까?

    ps auxww|grep PIDps -eflsof -p PIDtop -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 권한을 얻은 후 서비스 포트를 시작해야 합니다.
    애플리케이션 프로그램 문제는 애플리케이션 프로그램 시작 로그를 사용해 포트 충돌(텐센트 서버 시스템이 포트 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은 36,000포트를 사용한 프로세스를 표시합니다.
    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 -mduuptimew/proc/stat/proc/cpuinfo/proc/meminfo

    12. Cron이 유효하지 않으면 어떻게 해야 합니까?

    검사 순서는 다음과 같습니다.

    1. crontab이 올바르게 실행되는지 확인하십시오.
      1. crontab -e 커맨드를 실행하고 다음 테스트 항목을 추가하십시오.
        \*/1 \* \* \* \* /bin/date >> /tmp/crontest 2>&1 &
      2. /tmp/crontest' 파일을 확인하십시오.
        문제가 발생할 경우, '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. 클라우드 서버 시작 작업을 설정하는 방법은 무엇입니까?

    Linux 커널 시작 순서는 다음과 같습니다.

    1. '/sbin/init' 프로세스를 시작합니다.
    2. init 초기 스크립트를 순차적으로 실행합니다.
    3. 런 레벨 스크립트 /etc/rc.d/rc\*.d,* 계수값은 실행 모드와 같습니다. /etc/inittab 에서 확인할 수 있습니다.
    4. /etc/rc.d/rc.local 을 실행합니다.

    시작 프로세스를 구성해야할 경우 /etc/rc.d/rc\*.d 에서 S\*\*rclocal 파일 구성할 수 있고, 또는 /etc/rc.d/rc.local 에서 구성하실 수 있습니다.

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

    디스크가 읽기 전용인 이유는 다음과 같습니다.

    • 전체 디스크 용량이 다 찬 경우
      df -m 커맨드를 사용해 디스크 사용량을 확인한 후, 여분의 파일을 릴리스하여 디스크 용량을 확보할 수 있습니다(타사 파일은 삭제하지 않는 것이 좋습니다. 필요한 경우 확인하십시오.)
    • 디스크 inode 리소스가 점유한 경우
      df -i 커맨드를 실행하여 관련 프로세스를 검사 및 확인할 수 있습니다.
    • 하드웨어 장애

    hosting 애플리케이션이 위의 설명한 방법으로도 원인을 확인할 수 없으면, 핫라인 95716으로 문의하시거나 티켓을 제출하여 문의하십시오.

    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를 통해 클라우드 서버에 연결하는 데 걸리는 시간 초과를 어떻게 설정합니까?

    SecureCRT가 클라우드 서버에 연결되면, 다음 설정을 통하여 끊김없이 연결할 수 있습니다.

    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' 커맨드를 사용해 해당 프로세스를 종료하십시오.
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원