VNX: kernel.cpu.utilization.cpuutil jest > 90 przez 15 minut

Oversigt: kernel.cpu.utilization.cpuutil jest > 90 przez 15 minut.

Denne artikel gælder for Denne artikel gælder ikke for Denne artikel er ikke knyttet til et bestemt produkt. Det er ikke alle produktversioner, der er identificeret i denne artikel.

Symptomer

Obniżona wydajność CIFS, NFS i zbyt wysokie wykorzystanie procesora podczas przenoszenia dat przez dłuższy czas

Pliki /nas/log/sys_log są zalewane następującymi alertami:

Oct 20 10:19:21 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 88
Oct 20 10:20:26 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 89
Oct 20 10:35:21 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 94
Oct 20 10:48:26 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 95
Oct 20 11:01:26 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 87
Oct 20 11:17:21 2016:CS_PLATFORM:PERFSTATS:NOTICE:3:::::nas_alerterd: Clearing event for policy: default:server_2:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes due to value = 89
Oct 20 11:21:26 2016:CS_PLATFORM:PERFSTATS:WARNING:2:::::nas_alerterd: Raising event for policy: default:server_3:kernel.cpu.utilization.cpuutil is > 90 for 15 minutes. The last sample value was 96
[nasadmin@storage ~]$ server_sysstat server_2
server_2 :
threads runnable = 216
threads blocked = 6859
threads I/J/Z = 1
memory free(kB) = 6925375
cpu idle_% = 2 < ------- 98% utilized

[nasadmin@storage ~]$ server_sysstat server_3
server_3 :
threads runnable = 61
threads blocked = 6940
threads I/J/Z = 1
memory free(kB) = 6683987
cpu idle_% = 1 < ------- 99% utilized

 

Årsag

Przeprowadzono ogólną analizę konfiguracji systemu i pojemności w celu określenia, jakie typy wymagań (liczba replikacji, deduplikacja, harmonogramy punktów kontrolnych itd.) są stawiane poszczególnym modułom przenoszenia danych. Ustalono, że aplikacja VMware o nazwie Mirage była używana do zarządzania obrazami. To oprogramowanie tworzyło kopie zapasowe tysięcy stacji roboczych w środowisku klienta w CIFS, udziałach NFS, tworząc wiele małych plików CVD.

W tym przykładzie skonfigurowano 200 sesji VMware Mirage, które co godzinę wykonywały migawki 4000 maszyn. Jedna maszyna wymaga jednego pliku CVD, który z kolei wymaga 1,5 IOPS do wykonania migawki. Gdy kopie zapasowe były uruchomione, wydajność była niska, a po stronie Mirage wystąpiły ogromne opóźnienia rzędu 626,78 KB na ms.

Profil przenoszenia danych server_2 był przechwytywany, gdy wykorzystanie procesora było zbyt wysokie i aplikacja VMware Mirage była uruchomiona. Profil został skonfigurowany do działania przez 60 sekund:
Przykład:

[nasadmin@storage ~]$ /nas/tools/profile_slot -slot 2 -method function -seconds 60 -output /root_vdm_3/FS_Backup_01/profile_slot2.out
Starting profile on slot 2 with the following params...
Slot = 2
Method = function
Seconds = 60
Ignorebounds = no
Frequency = 256
Outfile = /root_vdm_3/FS_Backup_01/profile_slot2.out
Profile started. Waiting for 60 seconds...
Profile stopped.
Profile output has been written to /root_vdm_3/FS_Backup_01/profile_slot2.out on server in slot 2.

Zakończono analizę profilu modułu przenoszenia danych i stwierdzono, że głównym wąskim gardłem zużywającym większość procesora był proces szyfrowania bezpieczeństwa SMB o nazwie "AES_encrypt". Ten proces SMB służy do kompleksowego szyfrowania danych SMB i chroni dane przed podsłuchiwaniem w niezaufanych sieciach.

[nasadmin@storage ~]$ more profile_slot2.out | grep -i aes
0.0% (          1 ) EVP_aes_128_cbc
0.0% (          2 ) aes_init_key
1.0% (        631 ) aes_cbc_cipher
0.0% (         16 ) private_AES_set_encrypt_key
44.8% (      27454 ) AES_encrypt < ---------------------
0.9% (        581 ) AES_cbc_encrypt
0.0% (          1 ) EVP_aes_128_cbc
0.8% (        123 ) aes_cbc_cipher
0.0% (          1 ) private_AES_set_encrypt_key
37.0% (       5676 ) AES_encrypt < ---------------------
0.8% (        128 ) AES_cbc_encrypt
0.0% (          1 ) aes_init_key
0.9% (        140 ) aes_cbc_cipher
0.0% (          3 ) private_AES_set_encrypt_key
47.1% (       7219 ) AES_encrypt < ---------------------
0.9% (        146 ) AES_cbc_encrypt
0.0% (          1 ) aes_init_key
1.3% (        204 ) aes_cbc_cipher
0.0% (          7 ) private_AES_set_encrypt_key
48.2% (       7388 ) AES_encrypt < ---------------------
0.9% (        151 ) AES_cbc_encrypt
1.0% (        164 ) aes_cbc_cipher
0.0% (          5 ) private_AES_set_encrypt_key
46.8% (       7171 ) AES_encrypt < ---------------------
1.0% (        156 ) AES_cbc_encrypt

 

Løsning

Dostępne są dwie opcje:

Opcja 1:
Nie wprowadzaj żadnych zmian, pozwól, aby maksymalny protokół komunikacji SMB pozostał na poziomie SMB3, znoś wysoki procesor i niską wydajność.

Opcja 2:
Zaimplementuj obejście, aby usunąć maksymalny protokół komunikacji SMB z SMB3 na SMB2. Główną różnicą między SMB3 a SMB2 jest "AES_Encrypt". Obniżenie maksymalnego protokołu do SMB2 spowoduje porzucenie procesu szyfrowania, zmniejszenie wykorzystania procesora i powinna poprawić wydajność.

Aby włączyć protokół SMB2 w module przenoszenia danych:

  1. Zaloguj się do głównej stacji kontrolnej jako użytkownik "root" w putty/SSH

  2. Poproś klienta o pozwolenie na tymczasowe zatrzymanie usługi CIFS w module przenoszenia danych. Powoduje to niewielką przerwę w dostępie do CIFS, podczas gdy usługa CIFS jest zatrzymana, więc należy ją odpowiednio zaplanować z klientem.

    server_setup server_x -P cifs -o stop
  3. Zmień maksymalną liczbę protokołów komunikacji SMB z SMB3 na SMB2:

    server_cifs server_x -add security=NT,dialect=SMB2
  4. Uruchom ponownie usługę CIFS:

    server_setup server_x -P cifs -o start
  5. Upewnij się, że usługa CIFS została pomyślnie uruchomiona ponownie, a maksymalna liczba protokołów jest ustawiona na SMB2:

    server_cifs server_x

    Przykład:

    [root@Bstorage]# server_cifs server_2
    server_2 :
    384 Cifs threads started
    Security mode = NT
    Max protocol = SMB2.1 < -----

 

Berørte produkter

VNX2 Series

Produkter

VNX2 Series
Artikelegenskaber
Artikelnummer: 000056854
Artikeltype: Solution
Senest ændret: 20 okt. 2025
Version:  5
Find svar på dine spørgsmål fra andre Dell-brugere
Supportservices
Kontrollér, om din enhed er dækket af supportservices.