Konfigurera avancerade inställningar för innehållscachelagring
Du kan finjustera innehållscachelagring för din nätverkskonfiguration.
Du kan ställa in avancerade inställningar för innehållscachen via kommandoraden i Terminal eller genom att ändra värdet på nycklarna i filen /Library/Preferences/com.apple.AssetCache.plist. För att ändringarna ska börja gälla måste innehållscachelagring stängas av och startas om.
Du kan ställa in avancerade konfigurationsparametrar genom att använda kommandot defaults
följt av kommandot sudo AssetCacheManagerUtil reloadSettings
. Använd kommandot AssetCacheManagerUtil settings
till att visa standardinställningarna (ej avancerade).
Mer information om kommandot AssetCacheManagerUtil
finns på Hantera innehållscachelagring från kommandoraden och man-sidan AssetCacheManagerUtil(8).
Använda kommandot defaults till att ställa in konfigurationsparametrar
Du kan ställa in både enkla och komplexa nycklar med kommandot defaults
.
Om du t.ex. vill ange nyckeln Interface
till en1 utför du det här kommandot som administratör:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Interface -string en1
ListenRanges
är en komplex nyckel som tar en uppsättning ordlistor. Kör t.ex. det här kommandot som en administratör om du vill ställa in två IP-adresser för nyckeln ListenRanges:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist ListenRanges '( { first = 10.0.0.1; last = 10.0.0.254; }, { first = 10.1.0.1; last = 10.1.0.254; } )'
När du har använt kommandot defaults måste du köra följande kommando för att uppdatera innehållscacheinställningarna:
$ sudo AssetCacheManagerUtil reloadSettings
Mer information om kommandot defaults
finns på man-sidan för defaults(1).
plist-nycklar och värden för cachekonfigurering
Viktigt: Ändra inte några av inställningarna i filen com.apple.AssetCache.plist, utöver de som beskrivs i tabellen nedan.
En nyckel kan ha ett värde som är låst mellan två värden. Nyckelns värde kan vara valfritt tal i intervallet mellan det låga och det höga värdet. Om det sätts till under det lägre gränsvärdet används det lägre gränsvärdet. Om det sätts till över det högre gränsvärdet används det högre gränsvärdet. PeerDownloadTimeout är t.ex. låst mellan 5 och 300. Om värdet anges till 301 eller 1000 används värdet 300. Om värdet anges till 4 eller -10 används värdet 5.
Vissa ändringar börjar gälla efter att du har kört AssetCacheManagerUtil reloadSettings
, medan andra kräver att du stoppar och sedan startar om innehållscachelagring. De enda nycklar som stöder reloadSettings är de som också kan ställas in i inställningspanelen Innehållscachelagring (markeras i tabellen nedan). Du ställer in värden i inställningspanelen Innehållscachelagring genom att välja Apple-menyn > Systeminställningar, klicka på Delning och sedan på Innehållscachelagring.
Nyckel | Beskrivning | Förval | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | När innehåll rensas från innehållscachen eftersom utrymmet håller på att ta slut, och det utrensade innehållet lades till i innehållscachen mindre än det här antalet dagar sedan, får du en varning om utrymmesbrist. | 30 (dagar) | |||||||||
AllowCacheDelete | Tillåt att innehåll rensas från innehållscachen automatiskt när datorn behöver hårddiskutrymme för andra program. | Yes | |||||||||
AllowImports | Tillåt importförfrågningar (överföring). | Yes | |||||||||
AllowPersonalCaching | Tillåt cachelagring av användarnas iCloud-data. Minst en av nycklarna AllowPersonalCaching och AllowSharedCaching måste vara Yes. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | Yes | |||||||||
AllowSharedCaching | Styr cachelagringen av icke-iCloud-innehåll, som program och programuppdateringar. Minst en av nycklarna AllowPersonalCaching och AllowSharedCaching måste vara Yes. | Yes | |||||||||
AllowWirelessPortable | Tillåt bärbara datorer som bara har Wi-Fi-nätverksanslutningar att köra innehållscachelagring. | Yes | |||||||||
CacheLimit | Det största antalet byte hårddiskutrymme som används för innehållscachen. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | 0 (obegränsat) | |||||||||
DatabaseUpdateInterval | Hur ofta innehållscachen sparar ändringar till sin databas på hårddisken. Om värdet ökas ökar risken för att cachelagrat innehåll går förlorat vid ett strömavbrott. Max är 3 600 sekunder (1 timme). Värdet 0 innebär att databasen alltid uppdateras, utan fördröjning, vilket försämrar prestanda. | 5 (sekunder) | |||||||||
DataPath | Sökvägen till den katalog som används till att cachelagra innehåll. Om du ändrar den här inställningen manuellt flyttas inte cachelagrat innehåll automatiskt från den gamla till den nya platsen. Om du vill flytta innehåll automatiskt använder du inställningspanelen Innehållscachelagring (se Välja en volym för cachelagring). Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | /Library/Application Support/Apple/AssetCache/Data | |||||||||
DownloadMinRate | Det lägsta antalet byte per sekund som klienterna måste upprätthålla under hämtning av innehåll från innehållscachen. Innehållscachen stoppar hämtningar som överför data vid en lägre hastighet än den angivna. Den nedre gränsen är 1000 byte per sekund. | 8000 (byte per sekund) | |||||||||
DownloadTimeout | Hur länge, i sekunder, som en hämtning till en klient tillåts vara overksam innan den avbryts. Den nedre gränsen är 10 sekunder. | 180 (sekunder) | |||||||||
ImportMaxRate | Högsta antalet byte per sekund som innehållscachen tar emot data från varje klient. Värdet 0 innebär obegränsat antal byte per sekund. | 0 (byte per sekund) | |||||||||
ImportMinRate | Det lägsta antalet byte per sekund som klienterna måste upprätthålla under import (överföring) av innehåll. Innehållscachen stoppar importer som överför data vid en lägre hastighet än den angivna. Den lägsta hastigheten är 100 byte per sekund. | 2000 (byte per sekund) | |||||||||
ImportRateAttenuation | Procentandelen bortfiltrering som lagts på överföringstiden. Den nedre gränsen är 0 % bortfiltrering. Värden som är för höga överstiger värdet för ImportTimeout och orsakar fel. | 0,20 (procent) | |||||||||
ImportTimeout | Hur länge, i sekunder, som en import (överföring) från en klient tillåts vara overksam innan den avbryts. Minimum är 10 sekunder. | 300 (sekunder) | |||||||||
Interface | BSD-namnet för ett nätverksgränssnitt som ska användas av innehållscachen. | Listen on all interfaces | |||||||||
ListenRanges | En lista över ordlistor som beskriver intervallet för de klient-IP-adresser som ska servas. Se nedan för ett exempel på användning av nyckeln ListenRanges. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | ingen | |||||||||
ListenRangesOnly | Om ListenRangesOnly sätts till true tillhandahåller innehållscachen innehåll endast till klienter inom de intervall som anges av nyckeln ListenRanges. Om du vill använda nyckeln ListenRangesOnly måste du också ange nyckeln ListenRanges. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | Nej | |||||||||
ListenWithPeersAndParents | Visar om innehållscachelagringen registreras hos föreningen av ListenRanges-, PeerListenRanges- och Parents-nycklarna, eller bara hos ListenRanges-nyckeln. Observera att ListenRanges kan genereras automatiskt från LocalSubnetsOnly, och att PeerListenRanges kan genereras automatiskt från PeerLocalSubnetsOnly. | Det förvalda värdet varierar beroende på datorns historik:
| |||||||||
LocalSubnetsOnly | Anger om innehållscachen ska erbjuda innehåll endast till klienter i exakt samma lokala nätverk som innehållscachen, istället för till klienter i alla lokala nätverk som är tillgängliga för innehållscachen. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | Yes | |||||||||
LogClientIdentity | Anger om innehållscachen ska logga IP-adressen och portnumret för de klient som efterfrågar innehåll. | Nej | |||||||||
MaxConcurrentClients | Den här begränsningen finns till för att förhindra att innehållscachelagringen får slut på filbeskrivare. Apple garanterar inte att en innehållscache kan hantera 3 400 klienter samtidigt. | 3400 | |||||||||
MaxParentDepth | Det största antalet gånger, för en enskild förfrågan, som en underliggande innehållscache vidarebefordrar förfrågan till en överliggande innehållscache. Förfrågningar som är för djupa (kedjan för vidarebefordran är för lång) tvingas tillbaka till ursprunget istället för en ny överliggande innehållscache. | 8 | |||||||||
MaxPeersToQuery | Det högsta antalet andra innehållscacher som förfrågningar om innehåll ska skickas till. | 0 (obegränsat) | |||||||||
MetricsInterval | Hur ofta, i sekunder, en rad mätvärden ska läggas till i mätdatabasen i /Library/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Låst mellan 1 och 60 sekunder, inklusive gränsvärdena. Du kan se de här mätvärdena i panelen Cache i Aktivitetskontroll. | 60 (sekunder) | |||||||||
MetricsMaxAge | Mätvärden som är äldre än detta tas bort från mätdatabasen en gång per dag. Den nedre gränsen är 30 dagar. | 30 (dagar) | |||||||||
OriginDownloadTimeout | Hur länge, i sekunder, som en hämtning från Apples servrar tillåts vara overksam innan den avbryts (och ett försök att starta hämtningen igen eventuellt sker). Låst mellan 5 och 300 sekunder, inklusive gränsvärdena. | 60 | |||||||||
OriginUploadTimeout | Hur länge, i sekunder, som en överföring till en ursprungsserver tillåts vara overksam innan den avbryts. Låst mellan 5 och 3600 sekunder, inklusive gränsvärdena. | 600 | |||||||||
ParentDownloadTimeout | Hur länge, i sekunder, som en hämtning från en överliggande innehållscache tillåts vara overksam innan den avbryts (och ett försök att starta hämtningen igen eventuellt sker). Låst mellan 5 och 300 sekunder, inklusive gränsvärdena. | 60 | |||||||||
ParentRetryInterval | Hur länge, i sekunder, som överliggande innehållscacher ska ignoreras efter det att de genererat fem efterföljande nätverksfel eller serverfel. Låst mellan 30 och 3600 sekunder, inklusive gränsvärdena. | 900 | |||||||||
Överliggande | En lista över de lokala IP-adresserna för andra innehållscacher som den här innehållscachen ska hämta från eller överföra innehåll till istället för att hämta från eller överföra till Apple direkt. Ogiltiga adresser och adresser för datorer som inte är innehållscacher ignoreras. Överliggande innehållscacher som blir otillgängliga hoppas över i enlighet med ParentRetryInterval. Om alla överliggande innehållscacher blir otillgängliga hämtar innehållscachen från eller överför till Apple direkt tills en överliggande innehållscache blir tillgänglig igen. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | ingen | |||||||||
ParentSelectionPolicy | Den policy som ska användas vid val mellan fler än en konfigurerad överliggande innehållscache. För varje policy hoppas överliggande innehållscacher som är tillfälligt otillgängliga över. Policyerna är:
Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | lastfördelning | |||||||||
ParentUploadTimeout | Hur länge, i sekunder, som en överföring till en överliggande innehållscache tillåts vara overksam innan den avbryts. Låst mellan 5 och 3600 sekunder, inklusive gränsvärdena. | 600 | |||||||||
PeerDownloadTimeout | Hur länge, i sekunder, som en hämtning från en annan jämbördig innehållscache tillåts vara overksam innan den avbryts (och ett försök att starta hämtningen igen eventuellt sker). Låst mellan 5 och 300 sekunder, inklusive gränsvärdena. | 30 | |||||||||
PeerFilterRanges | När PeerFilterRanges är en samling poster (som de för ListenRanges) filtrerar och sorterar innehållscachen sin lista över andra jämbördiga innehållscacher i enlighet med intervallen i samlingen. Innehållscachen skickar endast förfrågningar till andra jämbördiga innehållscacher som finns i PeerFilterRanges. Filtreringen och sorteringen sker innan listan över andra servrar trunkeras vid MaxPeersToQuery poster (om den inställningen används). Om PeerFilterRanges är en tom lista frågar innehållscachen inte några andra jämbördiga innehållscacher. När PeerFilterRanges är booleskt sann gör innehållscachen samma sak som ovan, men använder ListenRanges istället för värdet PeerFilterRanges. När PeerFilterRanges är någon annan typ eller om värdet saknas, varken filtrerar eller sorterar innehållscachen listan över andra servrar innan listan trunkeras vid MaxPeersToQuery poster. PeerFilterRanges påverkar endast listan över andra innehållscacher som den här innehållscachen skickar förfrågningar till om innehåll och hämtningar. Den påverkar inte inkommande förfrågningar om innehåll från andra innehållscacher. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | ingen | |||||||||
PeerListenRanges | Om PeerListenRanges är en lista med ordlistor, och varje ordlista representerar ett IP-adressintervall, besvarar innehållscachen endast cacheförfrågningar från andra jämbördiga innehållscacher som har en IP-adress som ligger inom dessa intervall. Om PeerListenRanges är en tom lista svarar innehållscachen med ett felmeddelande på cacheförfrågningar från alla innehållscacher. Om PeerListenRanges är booleskt sann använder innehållscachen värdet ListenRanges i stället för värdet PeerListenRanges för att fatta beslut om vilka andra innehållscachers förfrågningar den ska besvara. Om PeerListenRanges är någon annan typ eller om värdet saknas, besvarar innehållscachen på cacheförfrågningar från alla andra innehållscacher. PeerListenRanges påverkar bara från vilka innehållscacher denna innehållscache svarar på förfrågningar. Det påverkar inte listan med jämbördiga innehållscacher som denna innehållscache skickar förfrågningar till om innehåll och hämtar innehåll från. När en innehållscache svarar med ett felmeddelande på en cacheförfrågan märker den innehållscache som gjorde denna förfrågan motsvarande innehållscache som ovänlig och försöker inte fråga igen förrän intervallet PeerRetryInterval har gått. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | ingen | |||||||||
PeerLocalSubnetsOnly | Om innehållscachen bara ska ha kontakt med andra innehållscacher i samma omedelbara nätverk, istället för med innehållscacher som använder samma offentliga IP-adress som den här datorn. Om PeerLocalSubnetsOnly är sant gör innehållscachen endast förfrågningar till och svarar bara på förfrågningar från andra innehållscacher i samma omedelbara lokala nätverk. Om PeerLocalSubnetsOnly är sant förbigås konfigurationen av PeerFilterRanges och PeerListenRanges. Om PeerLocalSubnetsOnly är falskt begränsas kontakten med de andra innehållscacherna av värdena på PeerFilterRanges och PeerListenRanges. Om PeerLocalSubnetsOnly är sant och nätverket ändras uppdateras begränsningarna av kontakterna i det lokala nätverket på lämpligt sätt. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | Yes | |||||||||
PeerNotifyTimeout | Hur länge, i sekunder, som svar från jämbördiga innehållscacher inväntas när de pingas vid start. Låst mellan 5 och 300 sekunder, inklusive gränsvärdena. | 30 | |||||||||
PeerQueryTimeout | Hur länge, i sekunder, som svar från jämbördiga innehållscacher inväntas vid förfrågningar om innehåll i deras cacheminnen. Låst mellan 1 och 60 sekunder, inklusive gränsvärdena. | 5 | |||||||||
PeerRetryInterval | Hur länge, i sekunder, som jämbördiga innehållscacher ska ignoreras efter att de har genererat tre efterföljande meddelandefel eller förfrågandefel. När tidsintervallet för återförsök löpt ut återskapas innehållscacherna till listan med jämbördiga innehållscacher att skicka förfrågningar till om innehåll. Låst mellan 30 och 3600 sekunder, inklusive gränsvärdena. | 900 (sekunder) | |||||||||
PersonalCacheLimit | Begränsa hur mycket hårddiskutrymme innehållscachen använder för cachelagrade iCloud-data, i byte. PersonalCacheLimit får inte överstiga CacheLimit. | 0 (obegränsat) | |||||||||
Port | Det TCP-portnummer som innehållscachelagring godkänner vid överföringar eller hämtningar. | 0 (använd slumpmässig port) | |||||||||
PruneAffinitiesAge | Användaraffiniteter som är äldre än det angivna antalet dagar tas automatiskt bort från affinitetscachen. Användaraffiniteter ger ledtrådar till klienter om var deras innehåll cachelagras, vilket förbättrar prestanda. Rensningen av användaraffiniteter påverkar inte cachelagrat innehåll. Den nedre gränsen är 7 dagar. | 30 (dagar) | |||||||||
PruneAffinitiesInterval | Hur ofta, i dagar, innehållscachen söker efter och tar bort användaraffiniteter äldre än PruneAffinitiesAge-dagar. Användaraffiniteter, som endast används av iCloud, ger ledtrådar till klienter om var deras innehåll cachelagras, vilket förbättrar prestanda. Rensningen av användaraffiniteter påverkar inte cachelagrat innehåll. Den nedre gränsen är 1 dag. | 7 (dagar) | |||||||||
PruneAssetsAge | Innehåll som inte har efterfrågats inom det här antalet dagar tas bort automatiskt från innehållscachen. Den nedre gränsen är 7 dagar. | 120 (dagar) | |||||||||
PruneAssetsInterval | Hur ofta, i dagar, innehållscachen söker efter och tar bort innehåll äldre än PruneAssetsAge-dagar. Den nedre gränsen är 1 dag. | 7 (dagar) | |||||||||
PublicRanges | Intervall av offentliga IP-adresser som molnservrarna ska använda för att matcha klienter till innehållscacher. Du kan även ställa in det här värdet i inställningspanelen Innehållscachelagring. | inget förvalt värde | |||||||||
ReservedVolumeSpace | Det lägsta antalet byte ledigt hårddiskutrymme som måste finnas på volymen där de cachelagrat innehåll lagras. | 2000000000 (2 GB) | |||||||||
TerminationTimeout | Hur länge, i sekunder, som innehållscachen ska försöka avregistrera när den stoppas. Avregistrering meddelar klienterna att innehållscachen inte längre är tillgänglig så att de inte försöker att använda den innehållscachen mer (eller tills den startar igen). Låst mellan 1 och 60 sekunder, inklusive gränsvärdena. | 10 (sekunder) | |||||||||
Verbose | När Verbose=true loggar innehållscachen lite mer information om sina aktiviteter. Den ökade loggningen kan sänka prestanda. Inställningen rekommenderas inte för användning under en längre tid. Använd kommandot Exempel: Du kan också visa loggarna i programmet Systemmeddelanden. | Nej |
Om nyckeln ListenRanges
Du kan använda nyckeln ListenRanges till att ange de innehållscacher som är att föredra i de avancerade nätverksmiljöer där flera innehållscacher används med samma offentliga IP-adress.
Exempel:
caching1.example.com använder nyckeln ListenRanges till att ange intervallen 10.0.0.1 till 10.0.0.254 och 10.1.0.1 till 10.1.0.254 samt sätter nyckeln ListenRangesOnly till No.
caching2.example.com använder nyckeln ListenRanges till att ange intervallet 10.1.0.1 till 10.1.0.39 (lägg märke till överlappningen med det andra intervallet för caching1) och sätter nyckeln ListenRangesOnly till No.
Om en klient vars IP-adress är 10.0.0.10 skickar en förfrågan om innehåll dirigeras den till caching1.
Om en klient vars IP-adress är 10.1.0.10 skickar en förfrågan om innehåll dirigeras den till antingen caching1 eller caching2.
Om en klient vars IP-adress är 10.2.0.10 skickar en förfrågan om innehåll dirigeras den till antingen caching1 eller caching2.
Om caching1 stängs av eller råkar ut för strömavbrott men caching2 fortfarande är tillgänglig, dirigeras alla klienter till caching2.
Exempel på plist-fil
Följande är ett exempel på en plast-fil (/Library/Preferences/com.apple.AssetCache.plist).
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CacheLimit</key>
<!-- Set a CacheLimit of 200 GB -->
<integer>200000000000</integer>
<key>DataPath</key>
<string>/Volumes/BigDisk/Library/Application Support/Apple/AssetCache/Data</string>
<key>Interface</key>
<string>en1</string>
<key>ListenRanges</key>
<array>
<dict>
<key>type</key>
<string>IPv4</string>
<key>first</key>
<string>10.1.2.1</string>
<key>last</key>
<string>10.1.2.254</string>
</dict>
<dict>
<key>type</key>
<string>IPv6</string>
<key>first</key>
<string>2001:500:88:200::1</string>
<key>last</key>
<string>2001:500:88:200::99</string>
</dict>
</array>
<key>LogClientIdentity</key>
<string>true</string>
<key>Port</key>
<integer>12345</integer>
<key>ReservedVolumeSpace</key>
<!-- Set the ReservedVolumeSpace to 1 GB -->
<integer>1000000000</integer>
</dict>
</plist>