최근에 서버가 시스템에서 더 이상 80 개의 스레드를 모두 사용하지는 않는다는 것을 발견했습니다. 높은 시스템로드에도 불구하고 16 개의 코어가 항상 유휴 상태 인 것처럼 보입니다.
10 코어 Xeon의 4 배인 4 개의 소켓이있는 Dell PowerEdge R900 서버입니다. 따라서 40 개의 코어, HT에는 80 개의 스레드가 있습니다. (인텔 Xeon CPU E7-4850 @ 2.00GHz). 시스템 메모리는 512GB이며 Ubuntu 14.04.1 LTS를 실행합니다. 아직 서버를 재부팅하지 않았으므로 이것을 피하기를 바랐습니다.
uname -a 리눅스 어셈블리 3.13.0-35- 일반 # 62- 우분투 SMP 금요일 8 월 15 일 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
다음을 확인합니다.
i7z로 측정 한 온도 : (4 개의 소켓을 표시 할 수 없음
cpuinfo의 CPU 속도 1994.00Mhz 실제 주파수 (터보 계산 제외) 1994 MHz 소켓 [0]-[물리 코어 = 10, 논리 코어 = 20, 최대 온라인 코어 = 10] CPU 멀티 플라이어 15x || 버스 클럭 주파수 (BCLK) 132.93 MHz 10 코어에서 터보 활성화, 하이퍼 스레딩 ON Turbo 2126.93 MHz (132.93 x [16])를 고려하지 않은 최대 주파수 1/2/3/4/5/6 코어의 최대 TURBO 멀티 플라이어 (활성화 된 경우)는 0x / 0x / 0x / 0x / 0x / 0x 실제 전류 주파수 1994.02 MHz (최대 이하) 코어 [core-id] : 실제 Freq (Mult.) C0 % 정지 (C1) % C3 % C6 % 온도 코어 1 [1] : 1994.01 (15.00x) 100 0 75 코어 2 [5] : 1994.00 (15.00x) 100 0 77 코어 3 [9] : 1994.02 (15.00x) 100 0 76 코어 4 [13] : 1994.00 (15.00x) 100 0 77 코어 5 [17] : 1994.00 (15.00x) 100 0 77 코어 6 [21] : 1994.00 (15.00x) 97.7 0.404 0 1.86 77 코어 7 [25] : 1994.00 (15.00x) 94.5 0 1 5.27 77 코어 8 [29] : 1994.00 (15.00x) 100 0 76 코어 9 [33] : 1994.00 (15.00x) 99.8 01 75 코어 10 [37] : 1994.00 (15.00x) 100 0 73 Turbo 2126.93 MHz (132.93 x [16])를 고려하지 않은 최대 주파수 1/2/3/4/5/6 코어의 최대 TURBO 멀티 플라이어 (활성화 된 경우)는 0x / 0x / 0x / 0x / 0x / 0x 실제 전류 주파수 1994.02 MHz (최대 이하) 코어 [core-id] : 실제 Freq (Mult.) C0 % 정지 (C1) % C3 % C6 % 온도 코어 1 [1] : 1994.02 (15.00x) 100 0 74 코어 2 [5] : 1994.00 (15.00x) 100 0 76 코어 3 [9] : 1994.02 (15.00x) 100 0 76 코어 4 [13] : 1994.00 (15.00x) 100 0 77 코어 5 [17] : 1994.00 (15.00x) 100 0 76 코어 6 [21] : 1994.00 (15.00x) 97 01 2.43 77 코어 7 [25] : 1994.00 (15.00x) 92.9 0 1 6.81 77 C0 = 정지하지 않고 실행중인 프로세서 10000 75 C1 = 정지 상태로 실행중인 프로세서 (상태> C0은 절전 모드 임) 1 1 75 C3 = PLL을 끄고 코어 캐시를 끈 상태에서 실행중인 코어 00 73 C6 = C3 + 코어 상태의 모든 것이 마지막 레벨 캐시에 저장 됨 표의 위 값은 지난 1 초 동안의 백분율입니다 [core-id]는 / proc / cpuinfo의 core-id 번호를 나타냅니다. 가비지 값을 읽을 때 '가비지 값'메시지가 인쇄됩니다 종료하려면 Ctrl + C
유휴 : 마지막 16 개의 코어가 모두 100 % 유휴 상태입니다.
mpstat -p ALL 1 : 평균 : CPU % usr % nice % sys % iowait % irq % soft % steal % guest % gnice % idle 평균 : 모두 70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61 평균 : 0 92.93 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.07 평균 : 1 94.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.00 평균 : 2 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 평균 : 3 83.33 0.00 2.08 0.00 0.00 0.00 0.00 0.00 0.00 14.58 평균 : 4 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 평균 : 5 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 .................................................. ........ 평균 : 64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 66 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 67 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 71 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
최고로드 번호 :
상위-17:41:48 최대 35 일, 6:28, 15 명의 사용자,로드 평균 : 77.69, 70.48, 62.73 작업 : 총 1327 개, 44 개 실행, 1281 자, 2 개 중지, 0 좀비 % Cpu : 63.7 us, 13.6 sy, 0.0 ni, 22.3 id, 0.2 wa, 0.0 hi, 0.2 si, 0.0 st KiB Mem : 52837942+ 전체, 52553190+ 중고, 2847524 무료, 535660 버퍼 KiB 스왑 : 총 78124032, 2105608 사용, 76018416 무료. 캐시 된 멤
때때로 유휴 %는 더 이상 100이 아니지만 여기에서 볼 수 있듯이 약간 작지만 대부분 100 % 유휴 상태로 유지됩니다.
평균 : CPU % usr % nice % sys % iowait % irq % soft % steal % guest % gnice % idle 평균 : 모두 70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61 평균 : 64 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.87 평균 : 65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 66 0.00 0.00 2.63 0.00 0.00 0.00 0.00 0.00 0.00 97.37 평균 : 67 0.00 0.00 0.13 0.13 0.00 0.00 0.00 0.00 0.00 99.75 평균 : 68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 71 0.00 0.00 0.12 0.00 0.00 0.00 0.00 0.00 0.00 99.88 평균 : 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 77 0.00 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.87 평균 : 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 평균 : 79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
또한이 명령을 모두 실행하여 모두 온라인 상태인지 확인했습니다.
`seq 01 79`의 COUNT; echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online;
HTop 프로그램을 사용하면 스레드 당 CPU 사용량 막대를 시각화 할 수 있으며 64 개의 막대가 채워지고 16 개의 빈 막대가 있습니다 (마지막 16 개).
코어에서 프로세스를 시작하려고하면> 63도 실패합니다.
root @ server : ~ # taskset -c 63 시간 사용법 : 시간 [-apvV] [-f 형식] [-o 파일] [-추가] [-상세] [-이동성] [--format = format] [--output = file] [-버전] [--quiet] [--help] 명령 [arg ...] root @ server : ~ # taskset -c 64 시간 taskset : pid 0의 선호도를 설정하지 못했습니다 : 잘못된 인수 root @ server : ~ # taskset -c 65 시간 taskset : pid 0의 선호도를 설정하지 못했습니다 : 잘못된 인수
관련 스레드 : /ubuntu/536541/ubuntu-uses-only-2-out-of-4-processor-cores
편집 : 코어가 즉시 종료되지만 올바르게 시작되지 않는 것으로 나타났습니다. 사용할 수없는 코어에서 실행중인 프로세스가있는 것 같지만 새 프로세스를 시작할 수는 없습니다. dmesg 로그에 따르면 코어는 서로 비활성화되고 빠르게 활성화됩니다. 이 코어를 종료하려는 의도 였으므로이 '기능'을 비활성화했습니다. DMESG 예제 로그 :
[Mon Jan 12 12:42:40 2015] kvm : CPU79에서 가상화 비활성화 [Mon Jan 12 12:42:40 2015] smpboot : CPU 79가 이제 오프라인입니다 .... [Mon Jan 12 12:43:12 2015] smpboot : 부팅 노드 0 프로세서 79 APIC 0xf3 [Mon Jan 12 12:43:12 2015] kvm : CPU79에서 가상화 활성화
다음을 통해 코어를 활성화 / 비활성화합니다.
`seq 64 79`의 COUNT; echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online; done
일반적으로 위의 명령이 제대로 작동하므로이 명령을 16 개의 사용 불가능한 코어와 연결하지 않았습니다. (우리는 또한 powermanager 비활성화를 시도했지만 도움이되지 않았습니다)