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

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

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

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

 

Cause

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

 

Resolution

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 < -----

 

Affected Products

VNX2 Series

Products

VNX2 Series
Article Properties
Article Number: 000056854
Article Type: Solution
Last Modified: 20 Oct 2025
Version:  5
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.