Avanserte innstillinger for innholdsbufring på Mac
Du kan bruke avanserte konfigurasjonsparametere til å finjustere innholdsbufring for nettverkskonfigurasjonen.
Du kan angi avanserte konfigurasjonsparametere for innholdsbufferen enten ved hjelp av kommandolinjen i Terminal, eller ved å endre verdien til nøklene i filen /Library/Preferences/com.apple.AssetCache.plist. For at endringer skal tre i kraft, må innholdsbufring stoppes og startes på nytt.
Angi avanserte innstillinger
Du kan også konfigurere enkelte avanserte innstillinger for innholdsbufringstjenesten ved å gå til Systeminnstillinger (macOS 13 eller nyere) eller Systemvalg (macOS 12.0.1 eller eldre) > Deling > Innholdsbufring. Hold nede Tilvalg-tasten, og velg Avanserte valg.
Du kan konfigurere enda mer avanserte innstillinger med Terminal-appen på Macen ved å bruke defaults
-kommandoen etterfulgt av kommandoen sudo AssetCacheManagerUtil reloadSettings
. Bruk kommandoen AssetCacheManagerUtil settings
til å vise standardinnstillingene (ikke-avanserte).
Du kan angi både enkle og avanserte nøkler med defaults
-kommandoen.
Hvis du for eksempel vil hardkode portnummeret (50000) til et ikke-dynamisk portnummer, et portnummer mellom 49192 og 65535, må du utføre denne kommandoen med administratorrettigheter:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Port -int 50000
ListenRanges
er en avansert nøkkel som bruker en serie med ordbøker. For eksempel kan du utføre denne kommandoen som administrator for å angi to IP-adresseområder for ListenRanges-nøkkelen:
$ 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; } )'
Etter at du har brukt defaults-kommandoen, sørger du for å kjøre følgende kommando for å laste inn innstillingene for innholdsbufferen på nytt:
$ sudo AssetCacheManagerUtil reloadSettings
Nøkler og verdier for plist-filen for bufringskonfigurasjon
Viktig: Ikke endre andre innstillinger i filen com.apple.AssetCache.plist enn de som er beskrevet i tabellen under.
En nøkkel kan ha en verdi som tvinges til å være mellom to verdier. Nøkkelverdien kan være alle tall i området mellom den laveste og den høyeste verdien. Hvis verdien angis til et tall under den nedre grenseverdien, brukes den nedre grenseverdien. Hvis verdien angis til et tall over den øvre grenseverdien, brukes den øvre grenseverdien. PeerDownloadTimeout tvinges for eksempel til en verdi mellom 5 og 300. Hvis verdien angis til 301 eller 1000, settes verdien til 300. Hvis verdien angis til 4 eller -10, settes verdien til 5.
Enkelte endringer trer i kraft etter at du kjører AssetCacheManagerUtil reloadSettings
. Andre krever at du stopper og deretter starter innholdsbufring på nytt. De eneste nøklene som støtter reloadSettings er de som også kan angis i Innholdsbufring-innstillingene (se tabellen nedenfor). Slik angir du verdier i Innholdsbufring-innstillingene:
macOS 13 eller nyere: Velg Apple-menyen > Systeminnstillinger > Generelt > Deling > Innholdsbufring.
macOS 12.0.1 eller eldre: Velg Apple-menyen > Systeminnstillinger > Deling > Innholdsbufring.
Nøkkel | Beskrivelse | Standardverdi | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | Varsler deg når innhold tømmes fra innholdsbufferen fordi det er lite lagringsplass, og innholdet som ble tømt ble lagt til i innholdsbufferen for mindre enn dette antallet dager siden, ser du et varsel om lite plass. | 30 (dager) | |||||||||
AllowCacheDelete | Tillater at innhold tømmes fra bufferen automatisk når datamaskinen trenger lagringsplass for andre apper. Slå av denne innstillingen for å få mest mulig effektiv innholdsbufring. | Ja | |||||||||
AllowImports | Tillater importforespørsler (opplasting). | Ja | |||||||||
AllowPersonalCaching | Tillater bufring av brukeres iCloud-data. Minst én av AllowPersonalCaching- eller AllowSharedCaching-nøklene må ha «yes». Du kan også angi denne verdien i Innholdsbufring-innstillinger. | Ja | |||||||||
AllowSharedCaching | Kontrollerer bufringen av ikke-iCloud-innhold, for eksempel apper og programvareoppdateringer. Minst én av AllowPersonalCaching- eller AllowSharedCaching-nøklene må ha «yes». | Ja | |||||||||
AllowWirelessPortable | Tillater at bærbare Macer som kun har Wi-Fi-nettverksforbindelser, bruker innholdsbufring. | Ja | |||||||||
CacheLimit | Angir maksimalt antall byte med lagringsplass brukt for innholdsbufferen. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | 0 (ubegrenset) | |||||||||
DatabaseUpdateInterval | Angir hvor ofte innholdsbufferen arkiverer endringer til lagringsdatabasen. Hvis intervallet økes, blir risikoen større for å miste bufret innhold etter et strømbrudd. Maksimum er 3600 sekunder (1 time). Et intervall på 0 betyr alltid oppdater databasen umiddelbart, uten forsinkelse, noe som reduserer ytelsen. | 5 (sekunder) | |||||||||
DataPath | Angir banen til katalogen som ble brukt til å lagre bufret innhold. Hvis du endrer denne innstillingen manuelt, flyttes ikke bufret innhold fra det gamle til det nye stedet. Hvis du vil flytte innhold automatisk, bruker du Innholdsbufring-innstillinger. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | /Library/Application Support/Apple/AssetCache/Data | |||||||||
DisplayAlerts | Viser varslinger for innholdsbufringsvarsler. Slå på denne innstillingen for å få mest mulig effektiv innholdsbufring. | Nei | |||||||||
DownloadMinRate | Angir minimum antall byte per sekund som klientene må håndtere under nedlasting av innhold fra innholdsbufferen. Innholdsbufferen stopper nedlastinger som overfører data saktere enn denne hastigheten. Tvunget minimum er 1000 byte per sekund. | 8000 (byte per sekund) | |||||||||
DownloadTimeout | Angir hvor lenge, i sekunder, en nedlasting til en klient kan være uten aktivitet før tjenesten gir opp. Tvunget minimum er 10 sekunder. | 180 (sekunder) | |||||||||
ImportMaxRate | Angir maksimalt antall byte per sekund for data som innholdsbufferen kan motta data med fra hver klient. Verdien 0 angir et ubegrenset antall byte per sekund. | 0 (byte per sekund) | |||||||||
ImportMinRate | Angir minimum antall byte per sekund som klientene må håndtere under import (opplasting) av innhold. Innholdsbufferen avbryter importer som overfører data saktere enn denne hastigheten. Minimumshastigheten er 100 byte per sekund. | 2000 (byte per sekund) | |||||||||
ImportRateAttenuation | Angir prosentandelen attenuasjon som legges til opplastingstiden. Tvunget minimum er 0 % attenuasjon. For store verdier overskrider ImportTimeout og fører til feil. | .20 (prosentandel) | |||||||||
ImportTimeout | Angir hvor lenge, i sekunder, en import (opplasting) fra en klient kan være uten aktivitet før tjenesten gir opp. Minimum er 10 sekunder. | 300 (sekunder) | |||||||||
Interface | Angir BSD-navnet på et nettverksgrensesnitt som skal brukes av innholdsbufferen. For eksempel en0. Lytter også på loopback-grensesnittet (localhost). | Lytt på det valgte grensesnittet | |||||||||
KeepAwake | Hindrer at datamaskinen går i dvale når innholdsbufring er på. Slå på denne innstillingen for å få mest mulig innholdsbufring. Kryss av i ruten «Forhindre at maskinen automatisk går i dvale når skjermen er av» i Strømsparing i Systeminnstillinger (i macOS 13 eller nyere) eller i Systemvalg (i macOS 12.0.1 eller eldre). | Nei | |||||||||
ListenRanges | En rekke med ordlister som beskriver området med klient-IP-adresser som skal betjenes. Se under for et eksempel ved bruk av ListenRanges-nøkkelen. Type-delnøkkelen er ikke lenger nødvendig og ignoreres hvis den finnes. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | none | |||||||||
ListenRangesOnly | Hvis ListenRangesOnly er satt til true, gir innholdsbufferen ressurser kun til klienter i områdene som er angitt av ListenRanges-nøkkelen. Hvis du vil bruke ListenRangesOnly-nøkkelen, må du også spesifisere also ListenRanges-nøkkelen. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | Nei | |||||||||
ListenWithPeers AndParents | Indikerer om innholdsbufring registreres med ListenRanges-, PeerListenRanges- og Parents-nøklene, eller bare med ListenRanges-nøkkelen. Merk at ListenRanges kan genereres automatisk fra LocalSubnetsOnly, og PeerListenRanges kan genereres automatisk fra PeerLocalSubnetsOnly. | Standardverdien avhenger av loggen til datamaskinen:
| |||||||||
LocalSubnetsOnly | Angir hvorvidt innholdsbufferen skal tilby tjenester kun til klienter på det samme umiddelbare lokale nettverket som innholdsbufferen, i stedet for til klienter på alle lokale nettverk som innholdsbufferen kan nå. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | Ja | |||||||||
LogClientIdentity | Bestemmer hvorvidt innholdsbufferen skal loggføre IP-adressen og portnummeret til klienter som spør etter innhold. | Nei | |||||||||
MaxConcurrentClients | Angir maksimalt antall klienter som kan bruke en innholdsbuffer. Apple garanterer ikke at en innholdsbuffer kan betjene 3400 klienter parallelt. | 3400 | |||||||||
MaxParentDepth | Angir det maksimale antallet ganger, for én forespørsel, at en underordnet innholdsbuffer videresender forespørselen til en overordnet innholdsbuffer. Forespørsler som er for dype (videresendingskjeden er for lang) tvinges til opprinnelsen i stedet for en overordnet. | 8 | |||||||||
MaxPeersToQuery | Angir maksimalt antall innholdsbuffere (peer) som skal spørres om hver ressurs. | 0 (ubegrenset) | |||||||||
MetricsInterval | Angir hvor ofte, i antall sekunder, du bør legge til en rad med målinger i målingsdatabasen i /Library/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Tvinges til en verdi fra og med 1 til og med 60 sekunder. Du kan vise disse målingene i Buffer-panelet i Aktivitetsmonitor. | 60 (sekunder) | |||||||||
MetricsMaxAge | Målinger som er eldre enn dette, blir fjernet fra databasen for målinger én gang om dagen. Tvunget minimum er 30 dager. | 30 (dager) | |||||||||
OriginDownloadTimeout | Angir hvor lenge, i sekunder, en nedlasting fra Apples tjenere kan være uten aktivitet før tjenesten gir opp (og muligens prøver å laste ned en gang til). Tvinges til en verdi fra og med 5 til og med 300. | 60 | |||||||||
OriginUploadTimeout | Angir hvor lenge, i sekunder, en opplasting til en opprinnelig tjener kan være uten aktivitet før tjenesten gir opp. Tvinges til en verdi fra og med 5 til og med 3600. | 600 | |||||||||
ParentDownloadTimeout | Angir hvor lenge, i sekunder, en nedlasting fra en overordnet innholdsbuffer kan være uten aktivitet før tjenesten gir opp (og muligens prøver å laste ned en gang til). Tvinges til en verdi fra og med 5 til og med 300. | 60 | |||||||||
ParentRetryInterval | Angir hvor lenge, i sekunder, overordnede innholdsbufre skal ignoreres etter at de har samlet opp fem sammenhengende nettverkssvikter eller tjenerfeil. Tvinges til en verdi fra og med 30 til og med 3600. | 900 | |||||||||
Parents | En liste over de lokale IP-adressene til andre innholdsbuffere fra hvor denne bufferen skal laste ned eller opp innhold i stedet for å laste ned fra eller laste opp til Apple direkte. Ugyldige adresser og adresser for datamaskiner som ikke er innholdsbuffere, ignoreres. Overordnede buffere som blir utilgjengelige, utelates i henhold ParentRetryInterval. Hvis alle overordnede innholdsbuffere blir utilgjengelige, vil innholdsbufferen laste ned fra eller laste opp til Apple direkte inntil en overordnet innholdsbuffer igjen blir tilgjengelig. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | none | |||||||||
ParentSelectionPolicy | Regelen som skal brukes når du velger blant flere enn én konfigurert overordnet innholdsbuffer. Med alle regler blir overordnede buffere som er midlertidig utilgjengelige utelatt. Reglene er:
Du kan også angi denne verdien i Innholdsbufring-innstillinger. | round-robin | |||||||||
ParentUploadTimeout | Angir hvor lenge, i sekunder, en opplasting til en overordnet innholdsbuffer kan være uten aktivitet før tjenesten gir opp. Tvinges til en verdi fra og med 5 til og med 3600. | 600 | |||||||||
PeerDownloadTimeout | Angir hvor lenge, i sekunder, en nedlasting fra en peer-innholdsbuffer kan være uten aktivitet før tjenesten gir opp (og muligens prøver å laste ned en gang til). Tvinges til en verdi fra og med 5 til og med 300. | 30 | |||||||||
PeerFilterRanges | Når PeerFilterRanges er en rekke (med oppføringer som de for ListenRanges), filtrerer og sorterer innholdsbufferen listen over peer-tjenere i henhold til områdene i rekken. Innholdsbufferen spør kun peer-tjenere som er i PeerFilterRanges. Filtreringen og sorteringen utføres før listen over peer-tjenere i MaxPeersToQuery-oppføringene avkuttes (hvis denne innstillingen finnes). Når PeerFilterRanges er en tom rekke, spør ikke innholdsbufferen noen peer-enheter. Når PeerFilterRanges er Boolean true, gjør innholdsbufferen det samme som over, men bruker verdien for ListenRanges i stedet for PeerFilterRanges. Når PeerFilterRanges mangler eller er en annen type eller verdi, verken filtrerer eller sorterer innholdsbufferen listen over peer-tjenere før listen avkuttes ved MaxPeersToQuery-oppføringer. PeerFilterRanges påvirker kun listen over andre innholdsbuffere som denne innholdsbufferen spør etter innhold og nedlastinger. Det har ingen effekt på innkommende forespørsler om innhold fra andre innholdsbuffere. Type-delnøkkelen er ikke lenger nødvendig og ignoreres hvis den finnes. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | none | |||||||||
PeerListenRanges | Når PeerListenRanges er en rekke ordlister der hver ordliste representerer et IP-adresseområde, svarer innholdsbufferen kun på peer-bufferforespørsler fra innholdsbuffere med en IP-adresse som ligger innenfor denne områderekken. Når PeerListenRanges er en tom rekke, svarer innholdsbufferen med en feil på bufferforespørsler fra alle andre innholdsbuffere. Når PeerListenRanges har den boolske verdien sann, bruker innholdsbufferen verdien for ListenRanges i stedet for PeerListenRanges for å avgjøre hvilke andre innholdsbufferen som den svarer på bufferforespørsler fra. Når PeerListenRanges har en annen type eller verdien mangler, svarer innholdsbufferen på bufferforespørsler fra alle andre innholdsbuffere. PeerListenRanges påvirker kun hvilke innholdsbuffere som denne innholdsbufferen svarer på bufferforespørsler fra. Det har ingen effekt på listen over peer-enheter som denne innholdsbufferen spør etter innhold og laster ned innhold fra. Når en innholdsbuffer svarer på en bufferforespørsel med en feil, vil innholdsbufferen som sendte forespørselen, merke innholdsbufferen som svarte, som uvennlig, og den forsøker ikke å sende flere forespørsler før tiden som er angitt for PeerRetryInterval, har utløpt. Type-delnøkkelen er ikke lenger nødvendig og ignoreres hvis den finnes. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | none | |||||||||
PeerLocalSubnetsOnly | Angir hvorvidt innholdsbufferen kun skal opprette peer-forbindelser med andre innholdsbuffere på samme umiddelbare lokalnettverk, i stedet for med innholdsbuffere som bruker samme offentlige IP-adresse som denne datamaskinen. Når PeerLocalSubnetsOnly er true, sender innholdsbufferen forespørsler og svarer kun på peer-forespørsler fra innholdsbuffere i det samme umiddelbare lokale nettverket. Når PeerLocalSubnetsOnly er true, overstyrer det konfigurasjonen til PeerFilterRanges og PeerListenRanges. Når PeerLocalSubnetsOnly er false, overlater innholdsbufferen til PeerFilterRanges og PeerListenRanges å konfigurere peering-restriksjonene. Når PeerLocalSubnetsOnly er true og nettverket endres, oppdateres restriksjonene på peer-enheter for det lokale nettverket i henhold til dette. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | Ja | |||||||||
PeerNotifyTimeout | Angir hvor lenge, i sekunder, det skal ventes på svar fra peer-innholdsbuffere når de pinges ved oppstart. Tvinges til en verdi fra og med 5 til og med 300. | 30 | |||||||||
PeerQueryTimeout | Angir hvor lenge, i sekunder, det skal ventes på svar fra peer-innholdsbuffere når de blir spurt om innhold i bufferne. Tvinges til en verdi fra og med 1 til og med 60. | 5 | |||||||||
PeerRetryInterval | Angir hvor lenge, i sekunder, peer-innholdsbuffere skal ignoreres etter at de har samlet opp tre mislykkede varslinger eller forespørsler på rad. Når intervallet for nye forsøk er utløpt, gjenopprettes peer-innholdsbuffere til listen over peer-tjenere som skal spørres om innhold. Tvinges til en verdi fra og med 30 til og med 3600. | 900 (sekunder) | |||||||||
PersonalCacheLimit | Begrenser hvor mye lagringsplass innholdsbufferen bruker til bufrede iCloud-data, i byte. PersonalCacheLimit må ikke overstige CacheLimit. | 0 (ubegrenset) | |||||||||
Port | Angir TCP-portnummeret der innholdsbufring godtar forespørsler om opplastinger eller nedlastinger. | 0 (bruk en tilfeldig port) | |||||||||
PruneAffinitiesAge | Brukertilknytninger som er eldre enn dette antallet dager, fjernes automatisk fra tilknytningsbufferen. Brukertilknytninger gir hint til klienter når det gjelder hvor innholdet deres er bufret for at ytelsen skal bli bedre. Reduksjon i brukertilknytninger har ingen innvirkning på bufret innhold. Tvunget minimum er 7 dager. | 30 (dager) | |||||||||
PruneAffinitiesInterval | Angir hvor ofte, i dager, innholdsbufferen bør skanne etter og fjerne brukertilknytninger som er eldre enn antallet dager som er angitt for PruneAffinitiesAge. Brukertilknytninger, som brukes kun av iCloud, gir hint til klienter når det gjelder hvor innholdet deres er bufret for at ytelsen skal bli bedre. Reduksjon i brukertilknytninger har ingen innvirkning på bufret innhold. Tvunget minimum er én dag. | 7 (dager) | |||||||||
PruneAssetsAge | Innhold som ikke er blitt etterspurt i dette antallet dager fjernes fra innholdsbufferen automatisk. Tvunget minimum er 7 dager. | 120 (dager) | |||||||||
PruneAssetsInterval | Angir hvor ofte, i dager, innholdsbufferen bør skanne etter og fjerne brukertilknytninger som er eldre enn antallet dager som er angitt for PruneAssetsAge. Tvunget minimum er én dag. | 7 (dager) | |||||||||
PublicRanges | Angir områder med offentlige IP-adresser som nettskytjenerne bør bruke for å finne klienter som samsvarer med innholdsbuffere. Du kan også angi denne verdien i Innholdsbufring-innstillinger. | no default | |||||||||
ReservedVolumeSpace | Angir minimum antall byte med ledig lagringsplass som skal beholdes for volumet som lagrer det bufrede innholdet. | 2000000000 (2 GB) | |||||||||
TerminationTimeout | Angir hvor lenge, i sekunder, innholdsbufferen skal prøve å avregistrere tjenestene når de stoppes. Avregistrering informerer klientene om at innholdsbufferen ikke lenger er tilgjengelig slik at de ikke lenger prøver å bruke den innholdsbufferen (eller til innholdsbufferen startes igjen). Tvinges til en verdi fra og med 1 til og med 60. | 10 (sekunder) | |||||||||
Verbose | Når Verbose = true, logger innholdsbufferen litt mer informasjon om aktiviteten. Økt loggføring kan redusere ytelsen. Denne innstillingen anbefales ikke for langsiktig bruk. Bruk For eksempel: Du kan også bruke Konsoll-appen til å vise loggene. | Nei |
Eksempel på ListenRanges-nøkkel
Du kan bruke ListenRanges-nøkkelen til å angi foretrukne innholdsbuffere i avanserte nettverkstopologier der flere innholdsbuffere brukes bak samme offentlige IP-adresse.
For eksempel:
caching1.betterbag.com bruker ListenRanges-nøkkelen til å angi et område på 10.0.0.1 til 10.0.0.254 og 10.1.0.1 til 10.1.0.254, og setter ListenRangesOnly-nøkkelen til No.
caching2.betterbag.com bruker ListenRanges-nøkkelen til å angi et område på 10.1.0.1 til 10.1.0.39 (legg merke til overlappingen med det andre området i caching1), og setter ListenRangesOnly-nøkkelen til No.
Hvis en klient med IP-adressen 10.0.0.10 ber om innhold, sendes den til caching1.
Hvis en klient med IP-adressen 10.1.0.10 ber om innhold, sendes den enten til caching1 eller caching2, valgt tilfeldig.
Hvis en klient med IP-adressen 10.2.0.10 ber om innhold, sendes den enten til caching1 eller caching2, valgt tilfeldig.
Hvis caching1 stenges eller mister strømmen mens caching2 fortsatt er tilgjengelig, sendes alle klienter til caching2.
Eksempel på plist-fil
Følgende er et eksempel på /Library/Preferences/com.apple.AssetCache.plist-filen.
<?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/BigVolume/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>