PowerFlex "ERROR: Failed to fork timer" hatasının Lisansı Güncelleştirilirken
Summary: Müşteri PowerFlex lisansını güncelleyemiyor.
Symptoms
Senaryo
Müşteri, lisansını güncellemeye çalışırken şu mesajı görebilir: "ERROR: Zamanlayıcı çatallanamadı"
Belirti -leri
MDM izleme günlüğünden
29/09 15:19:38.957139 0x7f91e2645db8:mosEventLog_PostInternal:00608: New event added. Message: "Command set_license received, User: 'admin'. [774]". Additional info: "" Severity: Info 29/09 15:19:38.957208 (nil):mosIO_close:00137: Closing FD(299) 29/09 15:19:38.964892 (nil):mos_CreateProcessWithTimeout:00050: ERROR: Failed to fork timer 29/09 15:19:38.968880 (nil):mosIO_close:00137: Closing FD(299) 29/09 15:19:38.968906 0x7f91e2645db8:mdmObj_SetLicense:01918: Decode rc: ILLEGAL 29/09 15:19:38.968912 0x7f91e2645db8:mdmObj_SetLicense:01921: Bad license. RC: ILLEGAL 29/09 15:19:38.968946 0x7f91e2645db8:mosEventLog_PostInternal:00608: New event added. Message: "Command set_license was not successful. Error code: The license key is invalid or does not match this version. Please contact Customer Support. [774]". Additional info: "" Severity: Warning
Etki
Müşteri, kaynak sorunu çözülene kadar lisansını güncelleştiremez.
Cause
Lisansı uygulamak için scli --set_license komutu çalıştırıldığında, MDM işlemi iki kez klonlanır (çatallanır).
İlk adım başarılı oldu ancak komut MDM işlemini klonlayamadı. Bu durum, sistemin işlemi klonlamak için yeterli kaynağı yoksa oluşabilir. Bu durumda, SVM'nin aşırı bellek atama yapılandırması, sistemi kullanılabilir belleğin yalnızca yarısıyla sınırladı:
grep 'vm.overcommit' ./server/sysctl.txt -H server/sysctl.txt:vm.overcommit_kbytes = 0 server/sysctl.txt:vm.overcommit_memory = 2 server/sysctl.txt:vm.overcommit_ratio = 50
Resolution
Sistemin yeterli kaynağa sahip olduğunu doğrulayın.
Fazla bellek kullanımı için sysctl çekirdek parametrelerini kontrol edin:
# sysctl -a |grep commit vm.overcommit_memory = 2 (default is 0) vm.overcommit_ratio = 50 (default is 50)
Bu durumda, "vm.overcommit_memory"nin iki olarak ayarlanması, bellekte fazla yük oluşturmamak anlamına gelir. Bu, aşırı kullanım sınırını aşan herhangi bir bellek ayırmada başarısız olur. Sistem için toplam adres alanı taahhüdünün, takas + yapılandırılabilir bir fiziksel RAM miktarını (varsayılan olarak %50'dir) aşmasına izin verilmez.
Bu sorunu çözmek için /etc/sysctl.conf dosyasında aşağıdakilerden birini ekleyin/düzenleyin:
- "vm.overcommit_ratio" değerini 100 olarak değiştirin, böylece işletim sistemi kullanılabilir toplam adres alanını işleyebilir ve yeniden başlatabilir.