Aracılığıyla paylaş


Real-Time Performansı için Cihazı Ayarlama

Bu kılavuz, cihazınızı gerçek zamanlı performans için ayarlama konusunda size yol gösterir.

Not

Bu özelliği kullanmanın tek yolu, belirli bir amaç için özel olarak oluşturulmuş bir uygulama ve cihaz kullanmaktır. Uygulama iş parçacıklarındaki işlemci çekirdeği atamaları haritası, fiziksel cihaz çekirdekleri ve gerçek zamanlı ile standart iş yükleri yapılandırmalarının her biriyle uyumlu olmalıdır.

  1. powercfg.exe ile boşta durumları devre dışı bırakma

  2. Aşağıdaki hizmetleri devre dışı bırakmak için sistem hizmetleri için Güvenlik yönergelerine başvurun:

    1. SysMain (Superfetch)
    2. DPS (Tanılama Politika Hizmeti)
    3. Audiosrv (Windows Audio)
  3. Windows Update'i devre dışı bırakmak için bu kılavuzukullanın.

    Not

    Bu, güvenlik düzeltme ekleri yapılmayacağı için cihazınızı güvenlik açıklarına açar. Bununla birlikte, Windows Update aracısı CPU çekirdek yalıtımına saygı duymadığından gereklidir. Cihaz güvenliğini sağlamak ve cihazın bakım için indirilebileceği zamanlarda güncelleştirmeleri yüklemek için bir plan yapmanızı öneririz

    Bahşiş

    Kapalı kalma süresi sırasında güncelleştirmeleri yönetmeye ilişkin iyi bir örnek UWF belgelerinde bulunabilir: Service UWF korumalı cihazlar UWF ve Geçici Gerçek zamanlı kullanıyorsanız, bu işlem her iki özellik için de işletim sistemi güncelleştirme gereksinimini aynı anda ele almalıdır.

  4. WindowsIoT CSP 'i gerçek zamanlı performans için ayarlayın.

  5. ISR'leri/DPC'leri CPU0'a geçirmek için RSS'yi yapılandırma

    Not

    Bu donanıma bağlıdır ve yalnızca NIC RSS'yi destekliyorsa yapılabilir

  6. İsteğe bağlı:Hata ayıklama için iş parçacıklı DPC'leri devre dışı bırakma

  7. İsteğe bağlı: Bu kılavuzuizleyerek bazı donanım kesintileri için özel bir DPC sabitleme sürücüsü dağıtma.

Bu Yapılandırmayı Komut Satırından Gerçekleştirme

Bu, cihazı açıkken yapılandırıyor. Cihazın soft-RT performansını koruduğundan emin olmak için, makine bu kılavuzukullanmaya her çalıştığında bu komutları betik olarak çalıştıracak şekilde yapılandırmanız gerekir.

  1. Bu iki komutu bir cmd isteminde çalıştırın. Bu, cpu boşta kalma durumlarını devre dışı bırakır ve çalıştırma yönergeleri olmayan bir CPU güç tasarrufu durumuna girer. Boştaki CPU'ların yeni yönergeleri yürütmeye başlamada gecikmesi olduğundan, bu gerçek zamanlı senaryolarda istenmeyen bir durumdur:

    powercfg.exe /setacvalueindex SCHEME_CURRENT SUB_PROCESSOR IdleDisable 1
    powercfg.exe /setactive SCHEME_CURRENT
    
  2. DPS'yi devre dışı bırakmak için şu üç komutu bir cmd isteminde çalıştırın:

    sc query dps
    sc stop dps
    sc config dps start=disabled
    
  3. Audiosrv'yi devre dışı bırakmak için şu üç komutu bir cmd isteminde çalıştırın:

    sc query Audiosrv
    sc stop Audiosrv
    sc config Audiosrv start=disabled
    
  4. SysMain'i devre dışı bırakmak için şu üç komutu bir cmd isteminde çalıştırın:

    sc query SysMain
    sc stop SysMain
    sc config SysMain start=disabled
    
  5. Windows Update'i devre dışı bırakmak için bir cmd isteminde şu üç komutu çalıştırın:

    sc query wuauserv
    sc stop wuauserv
    sc config wuauserv start=disabled
    
  6. İş parçacıklı DPC'leri devre dışı bırakmak için bu komutu çalıştırın

    reg add "HKLM\System\CurrentControlSet\Control\Session Manager\kernel" /v ThreadDpcEnable /t REG_DWORD /f /d 0
    

Cihazın Real-Time için Ayarlanmış Kalmasını Sağlama

Gerçek zamanlı bir cihazı üretim ortamına dağıtmadan önce, cihazın güncelleştirmeleri alabilmesini ve gerçek zamanlı performansı koruyabilmesini sağlamak için gereken başka kurulumlar da vardır:

  • Windows Update'i yeniden etkinleştirebilen, güncelleştirmeleri yükleyebilen ve Windows Update'i bir kez daha kapatabilen bir betik ayarlayın
  • Cihaz içi hizmetlerin devre dışı kaldığından emin olmak için denetimler ayarlama

WindowsIoT CSP nedir?

WindowsIoT CSP, Windows IoT cihazlarını yapılandırmak için kullanılır. Şu anda bu CSP'de kullanılabilen tek işlev, cihazı Geçici Real-Time performansı için yapılandırmaktır. Bir cihazla yumuşak gerçek zamanlı kullanım sağlamak için yapılması gereken başka işler de vardır. Önceki altı adımı da gerçekleştirmeniz gerekir. Bu CSP'yi kullanarak bu ek yapılandırma işini de gerçekleştirmeden yumuşak gerçek zamanlı çekirdekler ayarlamak sistem arızasına neden olur ve kurtarma için yeniden görüntüleme gerektirir.

Bu CSP'nin hiyerarşisi aşağıdaki gibidir:

WindowsIoT
   SoftRealTimeProperties
      SetRTCores

SetRTCores parametresine 0'dan büyük ve cihazdaki toplam çekirdek sayısından küçük bir değer sağlanmalıdır. Kuruluşunuzun cihazlarını yapılandırmak için kullandığı aracı kullanarak bu CSP'yi ayarlamaktan veya MDM Köprüsü'nün kullanımı için aşağıdaki adımları kullanmaktan çekinmeyin.

WindowsIoT CSP'yi Yapılandırmak için MDM Köprüsü WMI Sağlayıcısını Kullanma

Bu CSP, sistemi gerçek zamanlı performans için yapılandırıyor. Gerçek zamanlı görevlere ayrılacak CPU çekirdeklerinin sayısını sağlamanız ve geri kalanının sistem veya standart kullanıcı görevlerini çalıştırmak için ayrılmasını sağlamanız gerekir. SetRTCores düğümünde sayısal bir değer sağlanmalıdır. Bu, gerçek zamanlı iş yüklerine ayrılmış CPU Çekirdeği sayısıdır. Geçerli sayısal değerler en az 1 ve CPU'daki fiziksel çekirdek sayısından küçük olmalıdır.

Windows Yönetim Araçları (WMI) kullanan ortamlar bunu gerçekleştirmek için MDM Köprüsü WMI Sağlayıcısı'nı kullanabilir. RealTime yapılandırmasını üç gerçek zamanlı çekirdekle ayarlamaya yönelik bir örnek aşağıda verilmiştir:

  1. psexec aracını indirin.

  2. Bir yönetim komut istemi çalıştırın.

  3. Komut isteminde, sistem hesabı psexec.exe -s -i powershell.exe altında PowerShell'i başlatın

  4. Aşağıdaki betiği yürütün:

    $nameSpaceName="root\cimv2\mdm\dmmap"
    $className="MDM_WindowsIoT_SoftRealTimeProperties01"
    $obj = Get-CimInstance -Namespace $namespaceName -ClassName $className
    Add-Type -AssemblyName System.Web
    Set-CimInstance -CimInstance $obj
    $obj.SetRTCores = 3
    Set-CimInstance -CimInstance $obj
    
  5. Değişikliği etkinleştirmek için makineyi yeniden başlatın.

Bahşiş

Aynı betiği, ihtiyacınız olan gerçek zamanlı çekirdek sayısı için kullanabilirsiniz, yalnızca ikinci satırdan son satıra 3'ün yerine uygun sayı yazın. Bu, çekirdekleri en yüksek çekirdekten başlayarak aşağı doğru ayıracaktır. Bu nedenle 4 çekirdekli CPU'ya 3 çekirdek ayırmak 3, 2 ve 1 çekirdeklerini ayıracak ve çekirdek 0'ı sistem ve gerçek zamanlı olmayan görevler için ayıracaktır. Gerçek zamanlı çekirdek dizinleri daha sonra CPU çekirdek sayısını artırırsa sabit kalacağından, gerçek zamanlı çekirdeklerin en yüksek düzeyde kalacağının garantisi olmadığını lütfen unutmayın.

Sonraki: Yumuşak Real-Time Uygulama Geliştirme