Dela via


Automatiskt underhåll

Underhållsaktivitet avser ett program eller en process som hjälper till att upprätthålla hälsotillståndet och prestandan för en Windows-dator. Underhållet omfattar att hålla Windows-operativsystemet (OS) och program up-to-date, kontrollera säkerheten och köra genomsökningar efter skadlig kod. Windows Automatic Management (WAM) är en uppsättning förbättringar av API:et för schemaläggaren som du kan använda för att länka dina program till underhållsschemat för Windows. Mer specifikt kan du med WAM lägga till aktiviteter som kräver regelbunden schemaläggning, men som inte har exakta tidskrav. I stället förlitar sig WAM på operativsystemet för att välja lämplig tid för att aktivera aktiviteten under hela dagen. Systemet väljer dessa tider baserat på minimal påverkan på användaren, datorns prestanda och energieffektivitet.

Så här fungerar schemalagt underhåll

Underhållsuppgifter för Schemaläggaren är opportunistiska uppgifter som körs när datorn är inaktiv och har ström. Ett av de viktigaste målen med underhållsaktiviteter är att minimera påverkan på datorn genom att schemalägga underhåll endast när datorn är ansluten till nätström och inaktiv (dvs. när du inte använder eller har lämnat datorn). Tanken med underhåll idag är att datorn ska arbeta med minsta möjliga avbrott för användaren. Därför har den gamla underhållstimen (vi pratar mer om detta i Automatiskt underhåll – daglig aktivering avsnitt senare i det här avsnittet) förbättrats för att dra nytta av dessa inaktiva perioder. Även om underhållstimen fortfarande kan utnyttjas är det bättre att köra opportunistiskt underhåll för systemets hälsa.

Din uppgift kan vara utsvulten om en dator inte ägnar mycket tid åt både inaktiva och strömlösa. Kontrollera att ditt scenario fortfarande ger användaren ett värde, även om det är försenat. Om användaren aktivt använder datorn skjuter systemet upp underhåll till en senare tid. Systemet inaktiverar även alla underhållsaktiviteter som körs om användaren återgår till att använda datorn.

Systemet startar om en pausad underhållsaktivitet under nästa inaktiva period. Systemet inaktiverar dock inte någon aktivitet som har markerats som kritisk. I stället tillåter systemet att en kritisk uppgift slutförs, oavsett användaråtgärd.

På grund av schemaläggningens natur kanske vissa schemalagda aktiviteter inte slutförs: det kanske finns för många schemalagda händelser för att passa in i underhållsperioden på 1 timme, eller så kanske datorn helt enkelt inte var aktiverad. I sådana fall kan du definiera en uppgift med en tidsgräns. En tidsgräns definieras som en återkommande tidsram där systemet måste utföra uppgiften minst en gång.

Om en uppgift missar en tidsgräns fortsätter underhållsschemaläggaren att försöka köra aktiviteten under underhållsfönstret. Dessutom begränsar sig schemaläggaren inte till den vanliga tidsgränsen på 1 timme. I stället utökar schemaläggaren underhållsperiodens varaktighet för att slutföra den fördröjda aktiviteten.

När systemet har slutfört uppgiften (även med en felkod) anses försöket vara lyckat. Efter ett lyckat försök återställs schemaläggaren till det vanliga underhållsschemat och försöker utföra uppgiften under nästa period.

Automatiskt underhåll – daglig aktivering

I Windows 7 körs en underhållsaktivitet uteslutande under underhållstimmes, som standard är 03:00 och kan konfigureras via grupprincip. Datorn skulle vakna upp från vänteläge, köra underhållsaktiviteter och gå tillbaka till viloläge. Den här dagliga sessionen var begränsad till en maximal varaktighet på 1 timme per försök. Detta skulle göra det möjligt för systemet att utföra underhåll dagligen, med början kl. 03.00 som standard. Observera att användaren kan schemalägga om den tid då underhållet utlöses genom att konfigurera dessa inställningar.

Med tillkomsten av bärbara datorer, och det tunga fokuset på batteritid, är datorer inte längre konfigurerade för att tillåta S3-väckning under de flesta omständigheter, och i allmänhet Doze-To-S4 (viloläge) så snart som möjligt, för att spara batteri. Som svar på dessa ändringar kör Schemaläggaren (> Win7) underhållsaktiviteter när de förfaller, och datorn är inaktiv och har ström.

Den här inställningen kan konfigureras på Kontrollpanelen.

Öppna Kontrollpanelen>System and Security>Security and Maintenance>Automatic Maintenance.

Så baserat på hur dina datorer och dina uppgifter konfigureras kanske det dagliga aktiveringsbeteendet inte inträffar i dag som förväntat på grund av den nya konfigurationen. Du kan först avgöra om datorn är S3-kompatibel eller CS -kompatibel (ansluten vänteläge). Detta kan göras genom att öppna en upphöjd power shell-prompt och köra följande kommando.

powercfg /a

Underhållstid, om datorn är korrekt konfigurerad, fungerar fortfarande, men om den inte gör det,

  • Kontrollera bios-inställningarna för väckningsinställningar.
  • Kontrollera om Tillåt aktiveringstid är aktiverat i Energialternativ. Gå till Kontrollpanelen>Maskinvaru- och ljud->Energialternativ>Redigera planinställningar>Ändra avancerade energiinställningar> klicka på Viloläge>Tillåt aktiveringstid.
  • Kontrollera om den schemalagda aktiviteten har konfigurerats med följande.
    • MaintenanceSettings: Aktiviteten ska konfigureras med Period, Deadline.
    • Aktiverad: Aktiviteten ska vara aktiverad.
    • WakeToRun: Uppgiften bör tillåtas aktivera datorn.
  • För schemaläggning av aktiveringar från CS ska datorn vara AOAC-kompatibel.
  • För schemaläggning av aktiveringar i S3-datorer,
    • Kontrollera om datorn gick in i S3 på AC Power.
    • Systemet bör ha Aktiverad aktivering i grupprincip för underhåll.

Anslutet vänteläge är det systemtillstånd som ett AOAC-kompatibelt system kan ange.

Se skillnaderna mellan Modern Standby och S3 i avsnittet Modern Standby jämfört med S3.

Definiera en automatisk underhållsuppgift

Du kan konvertera valfri Aktivitetsschemaläggare till en underhållsaktivitet. Om du vill göra det måste du bekräfta att programmet kan pausas. Sedan måste du utöka uppgiftsdefinitionen med de nya MaintenanceSettings och AllowStartOnDemand element.

Det viktigaste med att skapa en underhållsuppgift är att se till att systemet kan pausa och starta om aktiviteten. Systemet kommer sannolikt att avbryta en underhållsuppgift flera gånger. Därför måste du se till att programmet kan spara sitt eget tillstånd och sedan återuppta vid en godtycklig tidpunkt. Detta säkerställer att systemet inte utför samma del av uppgiften upprepade gånger.

När du har sett till att programmet kan pausas och återupptas korrekt kan du använda MaintenanceSettings och AllowStartOnDemand element för att definiera schemat. MaintenanceSettings definieras enligt perioden, tidsgränsen och exklusiviteten.

  • Den perioden är obligatorisk och definierar hur ofta aktiviteten ska utföras. Vanligtvis definieras detta i termer av en flerdagarscykel, till exempel "en gång var 5:e dag". En period måste vara minst en dag, vilket innebär att du inte kan schemalägga att en aktivitet ska inträffa flera gånger under en dag.
  • Den tidsgränsen är valfri och definierar hur länge schemaläggaren kan misslyckas med att slutföra uppgiften innan användaren meddelas eller utför nödunderhåll. Tidsgränsen måste vara längre än perioden, vilket innebär att systemet måste ha möjlighet att försöka utföra uppgiften minst en gång innan användaren meddelas.
  • Dessutom kan en underhållsuppgift definieras som exklusiv. En exklusiv aktivitet körs separat från andra underhållsaktiviteter. Vanligtvis är en exklusiv uppgift en uppgift som använder en hel del resurser, till exempel en stor mängd CPU-tid eller exklusiv åtkomst till en databas. Systemet slutför alla icke-exklusiva underhållsaktiviteter innan en exklusiv uppgift startas. Därför bör du deklarera en uppgift som exklusiv endast när det behövs.

Däremot anger AllowStartOnDemand bara att systemet eller användaren kan starta aktiviteten när som helst. Detta gör att systemet kan starta uppgiften under regelbundet underhåll. Annars måste du ange en unik utlösare för uppgiften.