80 çekirdeğin 16 çekirdeği kullanılmıyor


11

Son zamanlarda sunucumuzun sistemdeki 80 iş parçacığını artık kullanmadığını keşfettim. Yüksek sistem yüküne rağmen 16 çekirdeğin her zaman boşta kaldığı görülüyor.

4 soketli, 10 çekirdekli Xeon'un 4 katı bir Dell powerEdge R900 sunucusu. Yani 40 çekirdek, HT ile 80 diş. (Intel (R) Xeon (R) CPU E7-4850 @ 2.00GHz). Sistem belleği 512 GB Ubuntu 14.04.1 LTS çalışıyor. Sunucuyu yeniden başlatmadım, bundan kaçınmayı umuyordum.

isimsiz -a
Linux derlemesi 3.13.0-35-genel # 62-Ubuntu SMP Cum 15 Ağu 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

Aşağıdakileri kontrol edeceğim:

İ7z ile ölçülen sıcaklık: (4 soket gösteremez

İşlemci hızı cpuinfo 1994.00Mhz
Gerçek Frekans (Turbo hesaplanmadan) 1994 MHz

Soket [0] - [fiziksel çekirdekler = 10, mantıksal çekirdekler = 20, şimdiye kadar maksimum çevrimiçi çekirdekler = 10]
  CPU Çarpanı 15x || Veriyolu saat frekansı (BCLK) 132,93 MHz
  TURBO 10 Çekirdeğe ETKİN, Hiper Diş Açma AÇIK
  Turbo 2126.93 MHz (132.93 x [16]) dikkate alınmadan Maksimum Frekans
  1/2/3/4/5/6 çekirdekli Maks TURBO Çarpanı (Etkinse) 0x / 0x / 0x / 0x / 0x / 0x
  Gerçek Akım Frekansı 1994.02 MHz (Maks. Altta)
        Çekirdek [çekirdek kimliği]: Gerçek Frek (Çoklu) C0% Durdurma (C1)% C3% C6% Sıcaklık
        Çekirdek 1 [1]: 1994.01 (15.00x) 100 0 0 0 75
        Çekirdek 2 [5]: 1994.00 (15.00x) 100 0 0 0 77
        Çekirdek 3 [9]: 1994.02 (15.00x) 100 0 0 0 76
        Çekirdek 4 [13]: 1994.00 (15.00x) 100 0 0 0 77
        Çekirdek 5 [17]: 1994.00 (15.00x) 100 0 0 0 77
        Çekirdek 6 [21]: 1994.00 (15.00x) 97.7 0.404 0 1.86 77
        Çekirdek 7 [25]: 1994.00 (15.00x) 94.5 0 1 5.27 77
        Çekirdek 8 [29]: 1994.00 (15.00x) 100 0 0 0 76
        Çekirdek 9 [33]: 1994.00 (15.00x) 99.8 0 1 1 75
        Çekirdek 10 [37]: 1994.00 (15.00x) 100 0 0 0 73
  Turbo 2126.93 MHz (132.93 x [16]) dikkate alınmadan Maksimum Frekans
  1/2/3/4/5/6 çekirdekli Maks TURBO Çarpanı (Etkinse) 0x / 0x / 0x / 0x / 0x / 0x
  Gerçek Akım Frekansı 1994.02 MHz (Maks. Altta)
        Çekirdek [çekirdek kimliği]: Gerçek Frek (Çoklu) C0% Durdurma (C1)% C3% C6% Sıcaklık
        Çekirdek 1 [1]: 1994.02 (15.00x) 100 0 0 0 74
        Çekirdek 2 [5]: 1994.00 (15.00x) 100 0 0 0 76
        Çekirdek 3 [9]: 1994.02 (15.00x) 100 0 0 0 76
        Çekirdek 4 [13]: 1994.00 (15.00x) 100 0 0 0 77
        Çekirdek 5 [17]: 1994.00 (15.00x) 100 0 0 0 76
        Çekirdek 6 [21]: 1994.00 (15.00x) 97 0 1 2.43 77
        Çekirdek 7 [25]: 1994.00 (15.00x) 92.9 0 1 6.81 77
C0 = İşlemci durmadan çalışıyor00x) 100 0 0 0 75
C1 = Duruşlarla çalışan işlemci (Durumlar> C0 güç tasarrufu sağlar) 1 1 75
C3 = PLL kapalıyken ve çekirdek önbellek kapalıyken çalışan çekirdekler 0 0 73
C6 = C3 + çekirdek durumundaki her şey son düzey önbelleğe kaydedildi
  Tablodaki yukarıdaki değerler son 1 saniyede yüzde cinsindendir
[core-id] / proc / cpuinfo'daki core-id numarasını ifade eder
Çöp değerleri okunduğunda 'Çöp Değerleri' mesajı yazdırıldı
  Çıkmak için Ctrl + C

Boşta: Son 16 çekirdeğin tamamı% 100 boşta:

mpstat -p TÜM 1:
Ortalama: CPU% usr% nice% sys% iowait% irq% soft% çalma% konuk% gnice% boşta
Ortalama: tümü 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 28,61
Ortalama: 0 92,93 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,07
Ortalama: 1 94.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.00
Ortalama: 2100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
Ortalama: 3 83,33 0,00 2,08 0,00 0,00 0,00 0,00 0,00 0,00 14,58
Ortalama: 4100 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
Ortalama: 5 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
.................................................. ........
Ortalama: 64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 66 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 67 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 71 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00

Üstten yük numaraları:

top - 17:41:48 35 güne kadar, 6:28, 15 kullanıcı, yük ortalaması: 77.69, 70.48, 62.73
Görevler: toplam 1327, 44 koşu, 1281 uyku, 2 durdu, 0 zombi
% İşlemci: 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 + toplam, 52553190 + kullanılmış, 2847524 ücretsiz, 535660 tampon
KiB Takas: 78124032 toplam, 2105608 kullanılmış, 76018416 ücretsiz. 40637328 + önbelleğe alınmış Mem

Bazen% rölanti artık 100 değil, burada görebileceğiniz gibi biraz daha az, ama çoğunlukla% 100 rölantide kalıyor.

Ortalama: CPU% usr% nice% sys% iowait% irq% soft% çalma% konuk% gnice% boşta
Ortalama: tümü 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 28,61
Ortalama: 64 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.87
Ortalama: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 66 0.00 0.00 2.63 0.00 0.00 0.00 0.00 0.00 0.00 97.37
Ortalama: 67 0,00 0,00 0,13 0,13 0,00 0,00 0,00 0,00 0,00 99,75
Ortalama: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 71 0,00 0,00 0,12 0,00 0,00 0,00 0,00 0,00 0,00 99,88
Ortalama: 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ortalama: 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 77 0.00 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.87
Ortalama: 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Ortalama: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00

Ayrıca, çevrimiçi olduklarından emin olmak için bu komutu çalıştırdım:

SEQ 01 79'daki COUNT için; echo 1> / sys / device / system / cpu / cpu $ {COUNT} / çevrimiçi yapın; 

HTop programı ile iş parçacığı başına bir cpu kullanımı çubuğu görüntüleyebilirim ve 64 çubuk dolu ve 16 boş (son 16) çubuk görüyorum.

Ne zaman bir çekirdek> 63 bir süreç başlatmaya çalıştığınızda da başarısız olur:

root @ server: ~ # görev seti -c 63 kez
Kullanım: zaman [-apvV] [-f biçim] [-o dosya] [--uygula] [--verbose]
       [--portability] [--format = format] [--output = dosya] [--version]
       [--quiet] [--help] komut [arg ...]
root @ server: ~ # görev seti -c 64 kez
görevleri kümesi: pid 0'ın benzeşimi ayarlanamadı: Geçersiz bağımsız değişken
root @ server: ~ # görev seti -c 65 kez
görevleri kümesi: pid 0'ın benzeşimi ayarlanamadı: Geçersiz bağımsız değişken

İlgili konu: /ubuntu/536541/ubuntu-uses-only-2-out-of-4-processor-cores

EDIT: Çekirdeklerin anında kapatıldığı, ancak düzgün başlatılmadığı ortaya çıkıyor. Bu mevcut olmayan çekirdekler üzerinde çalışan süreçler var gibi görünüyor, ancak üzerlerinde yeni bir süreç başlatmak imkansız. Dmesg günlüğüne göre, çekirdekler birbiri ardına hızla devre dışı bırakılır ve etkinleştirilir. Bu çekirdeği kapatmanın niyeti olduğunu söylemeliyim, bu yüzden bu 'özelliği' devre dışı bıraktık. DMESG örnek günlüğü:

[Pzt Ocak 12 12:42:40 2015] kvm: CPU79'da sanallaştırmayı devre dışı bırakma
[Pzt 12 Ocak 12:42:40 2015] smpboot: CPU 79 şu anda çevrimdışı
....
[Pzt Ocak 12 12:43:12 2015] smpboot: Önyükleme Düğümü 0 İşlemci 79 APIC 0xf3
[Pzt Ocak 12 12:43:12 2015] kvm: CPU79'da sanallaştırmayı etkinleştirme

Çekirdekleri şu yollarla etkinleştiriyoruz / devre dışı bırakıyoruz:

SEQ 64 79'da COUNT için; echo 1> / sys / device / system / cpu / cpu $ {COUNT} / çevrimiçi yapın; bitti

Bu komutları hiçbir zaman 16 kullanılamayan çekirdeğimizle ilişkilendirmedik, çünkü normalde yukarıdaki komutlar düzgün çalışıyor. (biz de powermanager devre dışı bırakmayı denedik, ama bu yardımcı olmadı)


1
Neden siz veya şirketiniz normal bilgisayarlar için Ubuntu yerine Ubuntu sunucusuyla gitmediniz?
XperianX

1
16 çekirdeğinizin aslında MAX kapasiteye alışması imkansız değildir, 16 sanal çekirdeği kullanılabilir kenar boşluğu bırakmaz.
Anonim2

1
8 çekirdeğin (16 sanal) hepsi tek bir fiziksel CPU'da mı yoksa 4 sokete de mi dağıtılıyor? Tek bir fiziksel CPU'da bulunuyorlarsa, bu çekirdeklerin başarısız olması mümkün müdür?
16:15

2
Sistemin herhangi bir yerinde, işlemlerin son 16 çekirdeği kullanmasına izin vermesini engelleyen sadece 64 bit CPU yakınlık maskesini temsil eden kod olup olmadığını merak ediyorum.
kasperd

80-16 = 64 olduğu göz önüne alındığında, bana maksimum çekirdek sayısı üzerinde bir yerlerde yapay bir sınır varmış gibi geliyor. Çalıştırdığınız yazılım ne olursa olsun maksimum 64 çekirdeğe ayarlanmıştır veya muhtemelen 64'ten fazla iş parçacığı oluşturamaz.
Clonkex

Yanıtlar:


1

Tüm programlar birden fazla iş parçacığı kullanamaz. php örneğin bir tanesidir. Bir php işleminin çok fazla CPU'ya ihtiyacı varsa, sadece 1 CPU max. Ve diğerleri boşta kalacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.