Linux 로드 평균 로드 문제에 대한 자세한 설명
이 기사는 Linux 로드 평균 로드 문제에 대한 자세한 설명을 제공합니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.
한 인터뷰에서 면접관이 질문을 했는데, CPU 사용량은 높지 않은데, 로드(평균 로드)가 매우 높다는 문제를 어떻게 찾나요?
저는 당시 로드의 의미를 이해하지 못했습니다. 면접관은 이 지표가 중단 없는 상태의 더 많은 프로세스를 반영한다고 설명했습니다. 과거 백엔드 개발 경험을 바탕으로 시스템에 io 차단이 더 있을 수 있다고 답변했는데, 이는 주로 네트워크 io 문제에서 발생합니다. tcp 연결에 time_wait 상태가 많이 있는지 확인하려면 netstat -tnp 명령을 사용하세요. ..
내 대답은 매우 일방적이라는 것을 알고 있습니다. 나중에 검토하고 메모하세요.
로드 평균이란 무엇입니까
Linux에 익숙한 사람들은 top uptime 명령을 사용하여 로드 평균 표시기를 볼 수 있다는 것을 알고 있습니다.
man uptime을 사용하여 로드 평균을 확인하세요. 설명:
시스템 로드 평균은 실행 가능 또는 중단 불가능 상태에 있는 프로세스의 평균 수입니다. 실행 가능 상태의 프로세스는 CPU를 사용 중이거나 CPU 사용을 기다리고 있습니다. 중단 불가능한 상태의 프로세스는 일부 I/O 액세스를 기다리고 있습니다(예: 디스크 대기). 평균은 세 가지 시간 간격에 대해 계산됩니다. 로드 평균은 시스템의 CPU 수에 대해 정규화되지 않으므로 로드 평균 1은 의미합니다. 단일 CPU 시스템은 항상 로드되지만 4 CPU 시스템에서는 75%의 시간 동안 유휴 상태였습니다.
핵심 사항을 이해하세요. 평균 로드는 단위 시간 내에 시스템이 실행 가능한 상태임을 의미합니다. 상태 및 중단할 수 없는 상태 상태에 있는 평균 프로세스 수로, 평균 활성 프로세스 수라고 합니다. CPU 사용량과 직접적인 관련이 없다는 점은 주목할 가치가 있습니다.
ps aux 명령을 사용하여 프로세스 상태를 확인하세요.
R 상태, 실행 가능 상태(실행 중/실행 가능) CPU가 사용 중이거나 CPU를 기다리는 프로세스의 D 상태인 무정전 상태(Uninterruptitle Sleep, 디스크 절전이라고도 함)는 커널 상태의 핵심 프로세스에 있는 프로세스로 중단할 수 없습니다.
왜 D 상태를 중단할 수 없나요? 예를 들어 시스템은 데이터의 일관성을 보장하기 위해 디스크보다 먼저 다른 프로세스나 인터럽트에 의해 중단될 수 없습니다. 장치가 데이터를 반환하는데, 중단되면 디스크 데이터와 프로세스 데이터 사이에 불일치가 발생하기 쉽습니다. 따라서 무정전(D) 상태는 프로세스 및 하드웨어 장치에 대한 시스템의 보호 메커니즘입니다.
평균 활성 프로세스 수는 엄밀히 말하면 활성 프로세스 수의 지수적 감소 평균입니다(특정 수량의 감소율은 해당 값에 비례함). 일반적으로 단위 시간당 활성 프로세스 수로 이해될 수 있습니다.
CPU 사용률 및 로드 밸런싱
CPU 관점에서 로드 평균은 단위 시간당 CPU를 점유하는 프로세스 수만 반영하며 CPU 사용률은 프로세스 수와 직접적인 관련이 없습니다. top vmstat 명령을 사용하면 됩니다. CPU 사용률을 보면 다음과 같은 표시가 있습니다:
%us: 사용자 공간 프로그램의 CPU 사용량을 나타냅니다(nice를 통해 예약되지 않음). %sy: 시스템 공간, 주로 커널 프로그램의 CPU 사용량을 나타냅니다. %ni: 사용자 공간에서 nice를 통해 예약된 프로그램의 CPU 사용량을 나타냅니다. %id: 유휴 CPU %wa: 실행 시 CPU가 io를 기다리는 시간 %hi: CPU가 처리한 하드 인터럽트 수 %si: CPU가 처리한 소프트 인터럽트 수 %st: 가상 CPU가 훔친 CPU machine
합리적인 평균 부하를 측정하는 방법
일반적으로 부하 평균이 CPU 수보다 낮으면 기계 성능이 서비스 요구 사항을 충족하는 것입니다. 부하 평균은 CPU 수를 직접 초과해도 상관 없습니다. CPU 사용률을 나타내며 더 많은 IO 차단으로 인해 발생할 수 있습니다. 로드 평균이 CPU 수의 70%보다 높을 경우 프로세스의 응답 속도가 느려져 서비스의 정상적인 기능에 영향을 줄 수 있습니다.
역사적 변화의 관점에서
일반적으로 최고 가동 시간은 1분, 5분, 15분 세 가지 시점의 부하 평균 지표를 제공합니다. 이는 최근 시스템의 상태 변화 추세를 반영합니다. 실제 생산 환경에서는 장기적인 모니터링 기록을 만들어야 합니다. 예를 들어 평균 부하가 CPU 부하의 2배인 등 비정상적인 수치 변화가 있는 경우 문제를 분석하고 조사해야 합니다.
균형 로드와 CPU 사용률의 두 지표 간의 차이점을 종합적으로 분석하면 다음과 같은 가능한 상황이 결합됩니다.
로드 평균이 높거나, CPU 사용량이 높거나, CPU 집약적인 프로세스(스레드)가 실행 중임) 또는 CPU를 기다리는 프로세스(스레드)가 많습니다. 로드 평균은 높고 CPU 사용량은 낮습니다. IO 집약적인 프로세스가 실행 중인 경우 일반 로드 평균은 낮고 CPU는 낮습니다. 존재하지 않습니다
시뮬레이션 사례 및 도구
균형 부하 및 CPU 사용률이라는 두 지표를 서로 다르게 조합한 사례를 분석하고 지표 변경의 원인을 찾을 수 있는 방법은 무엇입니까?
다음 환경은 Linux Arch 4.19/4 CPU/8G 메모리
도구 목록
스트레스 시스템 스트레스 테스트 도구
sysstat 성능 분석 도구 패키지입니다.
mpstat 멀티코어 CPU 분석 성능 도구, mp는 멀티 프로세서(multi-processor) pidstat 프로세스 성능 분석 도구, pid는 프로세스 ID를 의미합니다. 프로세스의 CPU, 메모리, I/O 및 컨텍스트 전환 표시기를 보는 데 사용됩니다
# 模拟一个进程, 对 cpu 使用率 100%,限时 600s stress --cpu 1 --timeout 600
IO 집중 프로세스
stress -i 옵션 , sync()에서 회전하는 N 작업자 생성()
# 模拟一个进程不停的执行 sync stress -i 1 --timeout 600
# 模拟16个进程, 对 cpu 使用率 100%,限时 600s stress --cpu 16 --timeout 600
Tool Indicators
mpstat -P ALL 5 모두 모니터링 CPU를 사용하고 5초마다 데이터 세트를 출력합니다. %usr 사용량, %iowait IO 차단 시간 표시기를 통해 CPU 집약적인지 pidstat -u 5 1 통계 간격 5를 확인할 수 있습니다. 초, CPU를 사용한 프로세스의 데이터, %usr 사용량, %wait CPU 사용 대기 시간 표시에 주의하세요. 이를 통해 프로세스(스레드)가 너무 많은지 확인할 수 있습니다# 🎜🎜#
위 내용은 Linux 로드 평균 로드 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

Linux 시스템의 5 가지 기본 구성 요소는 다음과 같습니다. 1. Kernel, 2. System Library, 3. System Utilities, 4. 그래픽 사용자 인터페이스, 5. 응용 프로그램. 커널은 하드웨어 리소스를 관리하고 시스템 라이브러리는 사전 컴파일 된 기능을 제공하며 시스템 유틸리티는 시스템 관리에 사용되며 GUI는 시각적 상호 작용을 제공하며 응용 프로그램은 이러한 구성 요소를 사용하여 기능을 구현합니다.

메모장은 Java 코드를 직접 실행할 수는 없지만 다른 도구를 사용하여 명령 줄 컴파일러 (Javac)를 사용하여 Bytecode 파일 (filename.class)을 생성하면 달성 할 수 있습니다. Java Interpreter (Java)를 사용하여 바이트 코드를 해석하고 코드를 실행하고 결과를 출력하십시오.

VS 코드 확장을 설치하는 이유는 다음과 같습니다. 네트워크 불안정성, 불충분 한 권한, 시스템 호환성 문제, C 코드 버전은 너무 오래된, 바이러스 백신 소프트웨어 또는 방화벽 간섭입니다. 네트워크 연결, 권한, 로그 파일, 업데이트 대 코드 업데이트, 보안 소프트웨어 비활성화 및 대 코드 또는 컴퓨터를 다시 시작하면 점차 문제를 해결하고 해결할 수 있습니다.

git 저장소 주소를 보려면 다음 단계를 수행하십시오. 1. 명령 줄을 열고 리포지토리 디렉토리로 이동하십시오. 2. "git remote -v"명령을 실행하십시오. 3. 출력 및 해당 주소에서 저장소 이름을 봅니다.

VSCODE 내장 터미널은 편집기 내에서 명령 및 스크립트를 실행하여 개발 프로세스를 단순화 할 수있는 개발 도구입니다. VSCODE 터미널 사용 방법 : 바로 가기 키 (CTRL/CMD)로 터미널을 엽니 다. 명령을 입력하거나 스크립트를 실행하십시오. 핫키 (예 : ctrl l)를 사용하여 터미널을 지우십시오). 작업 디렉토리 (예 : CD 명령)를 변경하십시오. 고급 기능에는 디버그 모드, 자동 코드 스 니펫 완료 및 대화식 명령 기록이 포함됩니다.

Visual Studio Code (VSCODE)에서 코드를 작성하는 것은 간단하고 사용하기 쉽습니다. vscode를 설치하고, 프로젝트를 만들고, 언어를 선택하고, 파일을 만들고, 코드를 작성하고, 저장하고 실행합니다. VSCODE의 장점에는 크로스 플랫폼, 무료 및 오픈 소스, 강력한 기능, 풍부한 확장 및 경량 및 빠른가 포함됩니다.

VS 코드는 Mac에서 사용할 수 있습니다. 강력한 확장, GIT 통합, 터미널 및 디버거가 있으며 풍부한 설정 옵션도 제공합니다. 그러나 특히 대규모 프로젝트 또는 고도로 전문적인 개발의 경우 VS 코드는 성능 또는 기능 제한을 가질 수 있습니다.
