Podešavanje naprednih postavki spremanja sadržaja u predmemoriju na Macu
Možete upotrebljavati napredne konfiguracijske parametre za prilagodbu spremanja sadržaja u predmemoriju za svoju mrežnu konfiguraciju.
Možete podesiti napredne konfiguracijske parametre predmemorije sadržaja ili uporabom naredbenog retka u aplikaciji Terminal ili izmjenom vrijednosti ključeva u datoteci /Library/Preferences/com.apple.AssetCache.plist. Spremanje sadržaja u predmemoriju mora se zaustaviti i ponovno pokrenuti da bi se aktivirale neke promjene.
Uporaba Terminala za postavljanje naprednih konfiguracijskih parametara
U aplikaciji Terminal na svojem Macu možete postaviti napredne parametre konfiguracije s pomoću standardnih
naredbi nakon kojih slijedi naredba sudo AssetCacheManagerUtil reloadSettings
. Upotrijebite naredbu AssetCacheManagerUtil settings
za prikaz standardnih postavki (koje nisu napredne).
Za više informacija o naredbi AssetCacheManagerUtil
pogledajte Upravljajte spremanjem sadržaja u predmemoriju iz komandnog retka i man stranicu AssetCacheManagerUtil(8).
Možete podesiti i jednostavne i složene ključeve naredbom defaults
.
Primjerice, za podešavanje tipkeInterface
na en1, izvršite tu naredbu kao administrator:
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Interface -string en1
ListenRanges
jest kompleksan ključ koji uzima niz rječnika. Primjerice, izvršite ovu naredbu kao administrator za podešavanje dva raspona IP adresa za ključ 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; } )'
Nakon korištenja naredbe defaults, svakako pokrenite sljedeću naredbu radi ponovnog postavljanja postavki predmemorije sadržaja:
$ sudo AssetCacheManagerUtil reloadSettings
Za više informacija o naredbi defaults
, pogledajte man stranicu za defaults(1).
Ključevi i vrijednosti plist formata za konfiguraciju stavljanja u predmemoriju
Važno: nemojte mijenjati nijednu postavku u datoteci com.apple.AssetCache.plist osim onih opisanih u tablici u nastavku.
Ključ može imati vrijednost koja je ograničena između dvije vrijednosti. Vrijednost ključa može biti bilo koji broj u rasponu između niskih i visokih vrijednosti. Ako je podešeno ispod donje granične vrijednosti, koristi se donja granična vrijednost. Ako je podešeno iznad gornje granične vrijednosti, koristi se gornja granična vrijednost. Primjerice, PeerDownloadTimeout ograničen je između 5 i 300. Ako je podešeno na 301 ili 1000, onda se vrijednost podešava na 300. Ako je podešeno na 4 ili -10, onda se vrijednost podešava na 5.
Neke se promjene ostvare nakon što pokrenete AssetCacheManagerUtil reloadSettings
; a kod nekih morate prekinuti i onda ponovno pokrenuti spremanje sadržaja u predmemoriju. Jedini ključevi koji podržavaju reloadSettings oni su koji se mogu podesiti i u postavkama Spremanja sadržaja u predmemoriju (navedeno u tablici u nastavku). Podesite vrijednosti u postavkama za Spremanje sadržaja u predmemoriju tako da odaberete Apple izbornik > Postavke sustava, kliknete Dijeljenje pa kliknete Spremanje sadržaja u predmemoriju.
Tipka | Opis | Standardno | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | Ako se sadržaj izbriše iz predmemorije sadržaja jer ima malo prostora na disku, a izbrisani je sadržaj dodan predmemoriji sadržaja prije manje od navedenog broja dana, dobit ćete upozorenje o maloj količini prostora. | 30 (dana) | |||||||||
AllowCacheDelete | Omogućavanje automatskog brisanja sadržaja iz predmemorije kada računalo treba prostora na disku za druge aplikacije. | Da | |||||||||
AllowImports | Dopusti importirane (postavljene) zahtjeve. | Da | |||||||||
AllowPersonalCaching | Dopustite stavljanje korisnikovih iCloud podataka u predmemoriju. Makar jedan od ključeva AllowPersonalCaching ili AllowSharedCaching mora biti potvrdan. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | Da | |||||||||
AllowSharedCaching | Kontrolira spremanje u predmemoriju sadržaja koji nije dio iClouda, poput ažuriranja za aplikacije i softver. Makar jedan od ključeva AllowPersonalCaching ili AllowSharedCaching mora biti potvrdan. | Da | |||||||||
AllowWirelessPortable | Dopusti prijenosnim računalima koja imaju samo veze na Wi‑Fi mrežu da stavljaju sadržaj u predmemoriju. | Da | |||||||||
CacheLimit | Maksimalan broj bajtova na prostoru diska koji će se koristiti za predmemoriju sadržaja. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | 0 (neograničeno) | |||||||||
DatabaseUpdateInterval | Broj spremanja promjena na bazu podataka na disku od strane predmemorije sadržaja. Povećavanje intervala povećava rizik od gubitka sadržaja u predmemoriji nakon nestanka napajanja. Maksimum je 3600 sekundi (1 sat). Interval od 0 uvijek znači trenutno ažuriranje baze podataka bez odgode, što smanjuje učinak. | 5 (sekunde) | |||||||||
DataPath | Putanja do direktorija koji se koristi za spremanje sadržaja u predmemoriji. Ručna promjena te postavke ne premješta automatski sadržaj u predmemoriji sa stare na novu lokaciju. Za automatsko premještanje sadržaja koristite postavke Spremanja sadržaja u predmemoriju (vidi Odaberite jedinicu za spremanje u predmemoriju). Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | /Library/Application Support/Apple/AssetCache/Data | |||||||||
DownloadMinRate | Minimalan iznos bajtova po sekundi koji klijenti moraju održavati dok preuzimaju sadržaj iz predmemorije sadržaja. Predmemorija sadržaja zaustavlja preuzimanja kojima se podaci prenose sporije od te brzine. Minimum ograničenja je 1000 bajtova po sekundi. | 8000 (bajtova po sekundi) | |||||||||
DownloadTimeout | Koliko sekundi smije sadržaj preuzet na klijenta mirovati prije odustajanja. Minimum ograničenja je 10 sekundi. | 180 (sekundi) | |||||||||
ImportMaxRate | Maksimalan iznos bajtova po sekundi pri kojem predmemorija sadržaja prima podatke od svakog klijenta. Vrijednost 0 označava neograničen broj bajtova po sekundi. | 0 (bajtova po sekundi) | |||||||||
ImportMinRate | Minimalan iznos bajtova po sekundi koji klijenti moraju održavati dok importiraju (postavljaju) sadržaj. Predmemorija sadržaja zaustavlja importirane stavke koje prenose podatke sporije od te brzine. Minimalna je brzina 100 bajtova po sekundi. | 2000 (bajtova po sekundi) | |||||||||
ImportRateAttenuation | Postotak prigušenja dodanog vremenu postavljanja. Minimum ograničenja jest 0% prigušenja. Prevelike vrijednosti premašit će ImportTimeout i uzrokovati kvarove. | .20 (postotak) | |||||||||
ImportTimeout | Koliko sekundi smije importirani (postavljeni) sadržaj od klijenta mirovati prije odustajanja. Minimum je 10 sekundi. | 300 (sekunde) | |||||||||
Sučelje | BSD naziv mrežnog sučelja kojeg će koristiti predmemorija sadržaja. | Slušajte na svim sučeljima | |||||||||
ListenRanges | Nz rječnika koji opisuju raspon klijentovih IP adresa koje se poslužuju. Pogledajte primjer u nastavku s ključem ListenRanges. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | ništa | |||||||||
ListenRangesOnly | Ako je ListenRangesOnly podešen na istinito, predmemorija sadržaja nudi sadržaj samo klijentima u rasponu određenim ključem ListenRanges. Ako želite koristiti ključ ListenRangesOnly, također morate odrediti ključ ListenRanges. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | Ne | |||||||||
ListenWithPeersAndParents | Označava je li spremanje sadržaja u predmemoriju registrirano s unijom ključeva ListenRanges, PeerListenRanges i Parents. Imajte na umu da se ListenRanges može automatski generirati iz ključa LocalSubnetsOnly, a PeerListenRanges može se automatski generirati iz PeerLocalSubnetsOnly. | Standardna vrijednost ovisi o povijesti računala:
| |||||||||
LocalSubnetsOnly | treba li ili ne treba predmemorija sadržaja nuditi sadržaj samo klijentima na istoj neposrednoj lokalnoj mreži, umjesto klijentima na svim lokalnim mrežama do kojih može doći predmemorija sadržaja. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | Da | |||||||||
LogClientIdentity | Određuje treba li ili ne treba predmemorija sadržaja prijaviti IP adresu i broj priključnica klijenta koji zahtijevaju sadržaj. | Ne | |||||||||
MaxConcurrentClients | To ograničenje služi da bi spriječilo proces spremanja sadržaja u predmemoriju da ostane bez deskriptora datoteka. Apple ne jamči da predmemorija sadržaja može ostvariti 3400 usporednih klijenata. | 3400 | |||||||||
MaxParentDepth | U slučaju jednog zahtjeva, maksimalan broj ponavljanja koji podređena predmemorija sadržaja može proslijediti zahtjev nadređenoj predmemoriji sadržaja. Zahtjevi koji su preduboki (lanac za prosljeđivanje jest predugačak) šalju se na ishodište, a ne natprocesu. | 8 | |||||||||
MaxPeersToQuery | Maksimalan broj ravnopravnih predmemorija sadržaja kojima se šalju upiti za sadržaj. | 0 (neograničeno) | |||||||||
MetricsInterval | Koliko se često, u sekundama, redak metrike dodaje u bazu podataka metrike u /Library/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Ograničeno između, te uključuje, 1 i 60 sekundi. Metriku možete pregledati u prozoru Predmemorija značajke Praćenje aktivnosti. | 60 (sekundi) | |||||||||
MetricsMaxAge | Metrika koja je starija od te vrijednosti uklanja se iz baze podataka metrike jednom dnevno. Minimum ograničenja jest 30 dana. | 30 (dana) | |||||||||
OriginDownloadTimeout | Koliko se dugo u sekundama smije dopustiti preuzimanju od Apple poslužitelja da miruje prije odustajanja (i mogućeg ponovnog pokušaja preuzimanja). Ograničeno između, te uključuje, 5 i 300 sekundi. | 60 | |||||||||
OriginUploadTimeout | Koliko sekundi smije sadržaj koji se postavlja na izvorišni poslužitelj mirovati prije odustajanja. Ograničeno između, te uključuje, 5 i 3600 sekundi. | 600 | |||||||||
ParentDownloadTimeout | Koliko se dugo u sekundama smije dopustiti preuzimanju od nadređene predmemorije sadržaja da miruje prije odustajanja (i mogućeg ponovnog pokušaja preuzimanja). Ograničeno između, te uključuje, 5 i 300 sekundi. | 60 | |||||||||
ParentRetryInterval | Koliko se sekundi smiju ignorirati nadređene predmemorije sadržaja nakon što su prikupile pet uzastopnih mrežnih kvarova ili grešaka poslužitelja. Ograničeno između, te uključuje, 30 i 3600 sekundi. | 900 | |||||||||
Natprocesi | Popis lokalnih IP adresa drugih predmemorija sadržaja s kojih bi ova predmemorija trebala preuzimati ili na njih postavljati sadržaj umjesto izravnog preuzimanja sa ili postavljanja na Apple. Ignoriraju se nevažeće adrese i adrese računala koja nisu predmemorije sadržaja. Nadređene predmemorije koje postanu nedostupne preskaču se prema ključu ParentRetryInterval. Ako sve nadređene predmemorije sadržaja postanu nedostupne, predmemorija sadržaja preuzimat će sa ili postavljati izravno na Apple dok nadređena predmemorija sadržaja ponovno ne postane dostupna. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | ništa | |||||||||
ParentSelectionPolicy | Pravilo kada se bira među više od jedne konfigurirane nadređene predmemorije sadržaja. Nakon svakog pravila preskaču se nadređene predmemorije koje su privremeno nedostupne. Pravila su:
Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | svi ukrug | |||||||||
ParentUploadTimeout | Koliko sekundi smije sadržaj koji se postavlja na nadređenu predmemoriju sadržaja mirovati prije odustajanja. Ograničeno između, te uključuje, 5 i 3600 sekundi. | 600 | |||||||||
PeerDownloadTimeout | Koliko se dugo u sekundama smije dopustiti preuzimanju od ravnopravne predmemorije sadržaja da miruje prije odustajanja (i mogućeg ponovnog pokušaja preuzimanja). Ograničeno između, te uključuje, 5 i 300 sekundi. | 30 | |||||||||
PeerFilterRanges | Kada je PeerFilterRanges niz (unosa poput onih za ListenRanges), predmemorija sadržaja filtrira i razvrstava svoj popis čvorova prema rasponima u nizu. Predmemorija sadržaja ispituje samo čvorove koji se nalaze u PeerFilterRanges. Filtriranje i razvrstavanje provodi se prije sužavanja popisa čvorova u unosima MaxPeersToQuery (ako je ta postavka prisutna). Kada je PeerFilterRanges prazan niz, predmemorija sadržaja neće slati nikakve upite čvorovima. Ako je ključ PeerFilterRanges istinit prema Booleovoj logici, predmemorija sadržaja čini isto što je i prethodno navedeno, ali koristi vrijednost ListenRanges prije nego PeerFilterRanges. Kada je PeerFilterRanges bilo koje druge vrste ili nedostaje vrijednost, predmemorija sadržaja ne filtrira niti razvrstava svoj popis čvorova prije sužavana popisa u unosima za MaxPeersToQuery. PeerFilterRanges utječe samo na popis drugih predmemorija sadržaja koje ova predmemorija sadržaja ispituje oko sadržaja i preuzimanja. Nema utjecaj na dolazne zahtjeve za sadržajem iz bilo koje druge predmemorije sadržaja. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | ništa | |||||||||
PeerListenRanges | Kada je PeerListenRanges niz rječnika gdje svaki rječnik predstavlja raspon IP adresa, predmemorija sadržaja odgovorit će uspješno samo na ravnopravne upite predmemorija od predmemorija sadržaja s IP adresom koja se nalazi unutar tog niza raspona. Kada je PeerListenRanges prazan niz, predmemorija sadržaja odgovorit će greškom na upite bilo koje druge predmemorije sadržaja. Ako je ključ PeerListenRanges istinit prema Booleovoj logici, predmemorija sadržaja koristit će vrijednost ListenRanges prije nego PeerListenRanges da bi odlučila na upite kojih će drugih predmemorija sadržaja uspješno odgovoriti. Kada je PeerListenRanges bilo koje druge vrste ili nedostaje vrijednost, predmemorija sadržaja uspješno će odgovoriti na upite svih drugih predmemorija sadržaja. PeerListenRanges utječe samo na izbor predmemorija sadržaja na čije će upite ova predmemorija sadržaja uspješno odgovoriti. Nema utjecaj na popis čvorova koje će ta predmemorija sadržaja ispitivati radi sadržaja i s kojih će preuzimati sadržaj. Ako predmemorija sadržaja odgovori u obliku greške na upit predmemorije, predmemorija sadržaja koja vrši upit označava predmemoriju sadržaja koja daje odgovor kao neprijateljsku i ne pokušava je ponovno pitati dok nije prošao PeerRetryInterval. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | ništa | |||||||||
PeerLocalSubnetsOnly | treba li ili ne treba predmemorija sadržaja uspostaviti ravnopravni odnos samo s drugim predmemorijama sadržaja na istoj neposrednoj lokalnoj mreži, umjesto s predmemorijama sadržaja koje koriste istu javnu IP adresu kao i ovo računalo. Ako je ključ PeerLocalSubnetsOnly istinit, predmemorija sadržaja šalje upite i uspješno odgovara na upite ravnopravnih čvorova samo od predmemorija sadržaja na istoj neposrednoj lokalnoj mreži. Ako je ključ PeerLocalSubnetsOnly istinit, on zamjenjuje konfiguraciju ključeva PeerFilterRanges i PeerListenRanges. Ako je PeerLocalSubnetsOnly neistinit, predmemorija sadržaja prepustit će konfiguraciju ograničenja za razmjenu prometa između različitih mreža (peering) ključevima PeerFilterRanges i PeerListenRanges. Ako je ključ PeerLocalSubnetsOnly istinit, a mreža se promjeni, ograničenja za razmjenu podataka među različitim mrežama (peering) lokalne mreže ažuriraju se na odgovarajući način. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | Da | |||||||||
PeerNotifyTimeout | Koliko se sekundi treba čekati na odgovore od ravnopravnih predmemorija sadržaja kada ih se pinga pri pokretanju. Ograničeno između, te uključuje, 5 i 300 sekundi. | 30 | |||||||||
PeerQueryTimeout | Koliko se sekundi treba čekati na odgovore od ravnopravnih predmemorija sadržaja kada ih se upita o sadržaju u njihovim predmemorijama. Ograničeno između, te uključuje, 1 i 60 sekundi. | 5 | |||||||||
PeerRetryInterval | Koliko se sekundi smiju ignorirati ravnopravne predmemorije sadržaja nakon što su prikupile tri uzastopne greške za obavijesti ili upite. Nakon što prođe interval ponovnog pokušaja, predmemorije sadržaja čvorova vraćaju se u popis čvorova radi upita o sadržaju. Ograničeno između, te uključuje, 30 i 3600 sekundi. | 900 (sekunde) | |||||||||
PersonalCacheLimit | Ograničite koliko prostora na disku u bajtovima koristi predmemorija sadržaja za iCloud podatke u predmemoriji. PersonalCacheLimit ne smije premašiti CacheLimit. | 0 (neograničeno) | |||||||||
Port | Broj TCP portova na kojima proces spremanja sadržaja u predmemoriju prihvaća zahtjeve za postavljanje i preuzimanje. | 0 (korištenje slučajnog porta) | |||||||||
PruneAffinitiesAge | Korisničke preferencije starije od navedenog broja dana automatski se uklanjanju iz predmemorije s preferencijama. Radi poboljšanja učinka, korisničke preferencije daju natuknice klijentima o tome u kojoj se predmemoriji nalazi njihov sadržaj. Filtriranje korisničkih preferencija nema učinka na sadržaj u predmemoriji. Minimum ograničenja jest 7 dana. | 30 (dana) | |||||||||
PruneAffinitiesInterval | Broj dana nakon kojih bi predmemorija sadržaja trebala tražiti i uklanjati preferencije korisnika starije od određenog broja dana prema PruneAffinitiesAge. Radi poboljšanja učinka, korisničke preferencije koje koristi samo iCloud daju natuknice klijentima o tome u kojoj se predmemoriji nalazi njihov sadržaj. Filtriranje korisničkih preferencija nema učinka na sadržaj u predmemoriji. Minimum ograničenja jest jedan dan. | 7 (dana) | |||||||||
PruneAssetsAge | Sadržaj koji nije zatražen u određenom broju dana uklanja se automatski iz predmemorije sadržaja. Minimum ograničenja jest 7 dana. | 120 (dana) | |||||||||
PruneAssetsInterval | Broj dana nakon kojih bi predmemorija sadržaja trebala tražiti i uklanjati sadržaj stariji od određenog broja dana prema PruneAssetsAge. Minimum ograničenja jest jedan dan. | 7 (dana) | |||||||||
PublicRanges | Rasponi javnih IP adresa koje bi poslužitelji na cloudu trebali koristiti za usklađivanje klijenata s predmemorijama sadržaja. Također možete podesiti tu vrijednost u postavkama za Spremanje sadržaja u predmemoriju. | nema standardnog | |||||||||
ReservedVolumeSpace | Minimalan broj bajtova slobodnog prostora na disku koji se zadržava za jedinicu koja sprema sadržaj iz predmemorije. | 2000000000 (2 GB) | |||||||||
TerminationTimeout | Koliko bi se sekundi predmemorija sadržaja trebala pokušavati odjavljivati kada se zaustavlja. Postupak odjave obavještava klijenta da predmemorija sadržaja više nije dostupna tako da više ne pokušavaju koristiti tu predmemoriju sadržaja (ili dok se predmemorija sadržaja ponovno ne pokrene). Ograničeno između, te uključuje, 1 i 60 sekundi. | 10 (sekunde) | |||||||||
Opširno | Kada je parametar Opširno=istinit, predmemorija sadržaja zapisuje malo više informacija o svojim aktivnostima. Povećano prijavljivanje može smanjiti učinak. Postavka se ne preporučuje za dugoročnu uporabu. Upotrijebite naredbu Na primjer: Također možete koristiti aplikaciju Konzola za prikaz zapisnika. | Ne |
Primjer tipke ListenRanges
Možete koristiti ključ ListenRanges za određivanje preferiranih predmemorija sadržaja u naprednim mrežnim topologijama gdje se koristi više predmemorija sadržaja iza iste javne IP adrese.
Na primjer:
caching1.example.com koristi ključ ListenRanges za određivanje raspona od 10.0.0.1 do 10.0.0.254 i 10.1.0.1 do 10.1.0.254, i postavlja ključ ListenRangesOnly na Ne.
caching2.example.com koristi ključ ListenRanges za određivanje raspona od 10.0.0.1 do 10.1.0.39 (zabilježite preklapanje sa drugim rasponom za caching1) i postavlja ključ ListenRangeOnly na Ne.
Ako klijent čija je IP adresa 10.0.0.10 zatraži sadržaj, usmjerava se na caching1.
Ako klijent čija je IP adresa 10.1.0.10 zatraži sadržaj, usmjerava se na caching1 ili caching2 slučajnim odabirom.
Ako klijent čija je IP adresa 10.2.0.10 zatraži sadržaj, usmjerava se na caching1 ili caching2 slučajnim odabirom.
Ako se caching1 isključi ili izgubi napajanje, ali je caching2 i dalje dostupan, svi se klijenti usmjeravaju na caching2.
Primjer plist datoteke
Slijedi primjer datoteke /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>