Réglages avancés de mise en cache de contenu sur Mac
Vous pouvez utiliser des paramètres de configuration avancés pour adapter la mise en cache de contenu à votre configuration réseau.
Vous définissez des paramètres de configuration avancés pour le cache de contenu en utilisant la ligne de commande dans Terminal ou en modifiant la valeur des clés dans le fichier /Bibliothèque/Preferences/com.apple.AssetCache.plist. Pour que des modifications prennent effet, la mise en cache de contenu doit être arrêtée et redémarrée.
Définir les réglages avancés
Vous pouvez configurer certains réglages avancés pour le service de mise en cache de contenu en accédant à « Réglages Système » (macOS 13 ou ultérieur) ou à Préférences Système (macOS 12.0.1 ou antérieur) > Partage > Mise en cache de contenu. Ensuite, maintenez la touche Option enfoncée et sélectionnez « Options avancées ».
Vous pouvez configurer encore plus de réglages avancés avec l’app Terminal sur votre Mac à l’aide de la commande defaults
, suivie de la commande sudo AssetCacheManagerUtil reloadSettings
. Utilisez la commande AssetCacheManagerUtil settings
pour afficher les paramètres standards (non avancés).
Vous pouvez définir des clés simples et complexes avec la commande defaults
.
Par exemple, pour coder le numéro de port (50 000) en dur sur un numéro de port dynamique, le numéro de port doit être un chiffre compris entre 49 192 et 65 535. Vous devez exécuter cette commande en tant quʼadministrateur :
$ sudo -u _assetcache defaults write /Library/Preferences/com.apple.AssetCache.plist Port -int 50000
ListenRanges
est une clé complexe qui accepte une gamme de dictionnaires. Par exemple, exécutez cette commande en tant qu’administrateur pour définir deux plages d’adresses IP pour la clé 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; } )'
Après avoir utilisé la commande par défaut, assurez-vous d’exécuter la commande suivante afin de recharger les réglages du cache de contenu :
$ sudo AssetCacheManagerUtil reloadSettings
Clés et valeurs plist de configuration de la mise en cache
Important : ne modifiez pas de réglages dans le fichier com.apple.AssetCache.plist autres que ceux décrits ci-après dans le tableau.
La valeur d’une clé peut être forcée entre deux valeurs. Elle peut donc être comprise entre les valeurs inférieure et supérieure. Si la valeur définie est inférieure à la limite inférieure, celle-ci est utilisée. Si elle est définie au-dessus de la limite supérieure, celle-ci est utilisée. Par exemple, la valeur PeerDownloadTimeout est forcée entre 5 et 300. Si elle est définie sur 301 ou 1 000, elle est ramenée à 300. Si elle est définie sur 4 ou -10, elle est portée à 5.
Certaines modifications prennent effet après que vous ayez exécuté AssetCacheManagerUtil reloadSettings
. D’autres nécessitent que vous arrêtiez puis redémarriez la mise en cache de contenu. Les seules clés qui prennent en charge reloadSettings sont celles qui peuvent également être définies dans les préférences Mise en cache de contenu (indiquées dans le tableau ci-dessous). Pour définir des valeurs dans les préférences « Mise en cache de contenu » :
macOS 13 ou ultérieur : Choisissez le menu Pomme > Réglages Système > Général > Partage > Mise en cache de contenu.
macOS 12.0.1 ou antérieur : Choisissez le menu Pomme > Préférences Système > Partage > Mise en cache de contenu.
Clé | Description | Valeur par défaut | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
AgeForLowSpaceAlert | Vous avertit avec une alerte indiquant que l’espace est faible quand du contenu est purgé du cache de contenu, car il manque d’espace de stockage, et que le contenu purgé a été ajouté au cache de contenu dans le délai indiqué. | 30 (jours) | |||||||||
AllowCacheDelete | Autorise la purge automatique du contenu du cache lorsque l’ordinateur a besoin d’espace de stockage pour d’autres apps. Pour une meilleure efficacité de la mise en cache de contenu, désactivez ce réglage. | Oui | |||||||||
AllowImports | Autorise les demandes d’importation (chargement). | Oui | |||||||||
AllowPersonalCaching | Autorise la mise en cache des données iCloud des utilisateurs. Au moins une des clés AllowPersonalCaching ou AllowSharedCaching doit avoir « Oui » comme valeur. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | Oui | |||||||||
AllowSharedCaching | Contrôle la mise en cache du contenu externe à iCloud, comme les apps et les mises à jour logicielles. Au moins une des clés AllowPersonalCaching ou AllowSharedCaching doit avoir « Oui » comme valeur. | Oui | |||||||||
AllowWirelessPortable | Autorise les ordinateurs portables Mac dotés uniquement de connexions à des réseaux Wi-Fi à exécuter la mise en cache de contenu. | Oui | |||||||||
CacheLimit | Indique le volume maximum d’espace de stockage exprimé en ko utilisé pour le cache de contenu. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | 0 (illimité) | |||||||||
DatabaseUpdateInterval | Indique la fréquence des enregistrements par le cache de contenu des modifications apportées à sa base de données dans le stockage. En augmentant l’intervalle, on augmente également le risque de perdre du contenu mis en cache en cas de coupure de courant. La valeur maximale est de 3 600 secondes (1 heure). Un intervalle de 0 signifie que le serveur doit toujours mettre à jour la base de données immédiatement, sans délai, ce qui diminue les performances. | 5 (secondes) | |||||||||
DataPath | Indique le chemin vers le répertoire utilisé pour stocker le contenu mis en cache. La modification manuelle de ce réglage ne déplace pas automatiquement le contenu mis en cache de l’ancien emplacement vers le nouveau. Pour déplacer du contenu automatiquement, utilisez les réglages « Mise en cache de contenu ». Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | /Bibliothèque/Application Support/Apple/AssetCache/Data | |||||||||
DisplayAlerts | Affiche des notifications pour les alertes de mise en cache de contenu. Pour une meilleure efficacité de la mise en cache de contenu, activez ce réglage. | Non | |||||||||
DownloadMinRate | Indique le nombre minimum d’octets par seconde que les clients doivent maintenir lors du téléchargement de contenu à partir du cache de contenu. Le cache de contenu arrête les téléchargements qui transfèrent des données moins rapidement que ce débit. La valeur minimale forcée est de 1 000 octets par seconde. | 8 000 (octets par seconde) | |||||||||
DownloadTimeout | Indique la durée (en secondes) pendant laquelle un téléchargement vers un client est autorisé à être inactif avant d’être abandonné. La valeur minimale forcée est de 10 secondes. | 180 (secondes) | |||||||||
ImportMaxRate | Indique le débit maximal en octets par seconde auquel le cache de contenu peut recevoir des données de chaque client. Une valeur de 0 indique un débit illimité d’octets par seconde. | 0 (octet par seconde) | |||||||||
ImportMinRate | Indique le nombre minimum d’octets par seconde que les clients doivent maintenir lors de l’importation (chargement) de contenus. Le cache de contenu arrête les tâches d’importation dont les données sont transférées à un débit inférieur à celui-ci. Le taux minimal est de 100 octets par seconde. | 2 000 (octets par seconde) | |||||||||
ImportRateAttenuation | Indique le pourcentage d’atténuation ajouté au délai de transfert. La valeur minimale forcée est 0 % d’atténuation. Une valeur trop importante peut dépasser la clé ImportTimeout et provoquer des erreurs. | 0,20 (pourcentage) | |||||||||
ImportTimeout | Indique la durée (en secondes) pendant laquelle une importation (chargement) à partir d’un client est autorisée à être inactive avant d’être abandonnée. La valeur minimale est 10 secondes. | 300 (secondes) | |||||||||
Interface | Indique le nom BSD d’une interface réseau à utiliser par le cache de contenu. Par exemple, en0. Écoute également toujours lʼinterface de bouclage (localhost). | Écouter lʼinterface sélectionnée | |||||||||
KeepAwake | Maintient l’ordinateur allumé lorsque la mise en cache de contenu est activée. Pour une meilleure disponibilité de la mise en cache de contenu, activez ce réglage. Cochez la case « Empêcher la suspension d’activité automatique de l’ordinateur lorsque l’écran est éteint » dans « Économiseur d’énergie » dans Réglages Système (sous macOS 13 ou ultérieur) ou dans Préférences Système (sous macOS 12.0.1 ou antérieur). | Non | |||||||||
ListenRanges | Il s’agit d’une gamme de dictionnaires décrivant la plage d’adresses IP de clients à servir. Vous trouverez plus bas un exemple qui utilise la clé ListenRanges. Le type subkey n’est plus nécessaire et est ignoré si présent. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | vide | |||||||||
ListenRangesOnly | Si ListenRangesOnly est défini sur Vrai, le cache de contenu fournit du contenu uniquement aux clients se trouvant dans les plages indiquées par la clé ListenRanges. Si vous souhaitez utiliser la clé ListenRangesOnly, vous devez également indiquer la clé ListenRanges. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | Non | |||||||||
ListenWithPeers AndParents | Indique si la mise en cache de contenu s’inscrit avec l’ensemble des clés ListenRanges, PeerListenRanges et Parents, ou uniquement avec la clé ListenRanges. Notez que ListenRanges peut être automatiquement générée à partir de LocalSubnetsOnly et PeerListenRanges peut être automatiquement générée à partir de PeerLocalSubnetsOnly. | La valeur par défaut dépend de l’historique de l’ordinateur :
| |||||||||
LocalSubnetsOnly | Indique si le cache de contenu doit réserver son contenu aux clients du réseau local à proximité immédiate du cache de contenu plutôt qu’aux clients de tous les réseaux locaux accessibles par celui-ci. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | Oui | |||||||||
LogClientIdentity | Indique s’il est nécessaire pour le cache de contenu de journaliser l’adresse IP et le numéro de port des clients demandant du contenu. | Non | |||||||||
MaxConcurrentClients | Indique le nombre maximum de clients qu’un cache de contenu peut prendre en charge. Apple ne garantit pas qu’un cache de contenu puisse gérer 3 400 clients simultanément. | 3 400 | |||||||||
MaxParentDepth | Indique le nombre maximal de fois, pour une demande unique, qu’un cache de contenu enfant transmet la demande à un cache de contenu parent. Les requêtes trop profondes (lorsque la chaîne de transfert est trop longue) sont forcées à l’origine au lieu de l’être à un parent. | 8 | |||||||||
MaxPeersToQuery | Indique le nombre maximum de caches de contenu pairs auxquels demander du contenu. | 0 (illimité) | |||||||||
MetricsInterval | Indique la fréquence (en secondes) à laquelle ajouter une rangée d’indicateurs à la base de données des indicateurs dans /Bibliothèque/Application Support/Apple/AssetCache/Metrics/Metrics.db.
Valeur forcée entre 1 et 60 secondes, incluses. Vous pouvez afficher ces indicateurs dans la sous-fenêtre Cache de Moniteur d’activité. | 60 (secondes) | |||||||||
MetricsMaxAge | Les indicateurs plus anciens que cette valeur sont supprimés de la base de données des indicateurs, une fois par jour. La valeur minimale forcée est de 30 jours. | 30 (jours) | |||||||||
OriginDownloadTimeout | Indique la durée (en secondes) d’inactivité autorisée d’un téléchargement depuis des serveurs Apple avant son abandon. Il est possible qu’une autre tentative de téléchargement soit lancée. Forcée entre 5 et 300 secondes, incluses. | 60 | |||||||||
OriginUploadTimeout | Indique la durée (en secondes) pendant laquelle un chargement vers un serveur d’origine est autorisé à être inactif avant d’être abandonné. Forcée entre 5 et 3600 secondes, incluses. | 600 | |||||||||
ParentDownloadTimeout | Indique la durée (en secondes) pendant laquelle un téléchargement à partir d’un cache de contenu parent est autorisé à être inactif avant d’être abandonné. Il est possible qu’une autre tentative de téléchargement soit lancée. Forcée entre 5 et 300 secondes, incluses. | 60 | |||||||||
ParentRetryInterval | Indique la durée (en secondes) du rejet des caches de contenu parents à la suite d’une accumulation de cinq échecs de réseau ou erreurs de serveur consécutifs. Forcée entre 30 à 3 600 secondes, incluses. | 900 | |||||||||
Parents | Une liste des adresses IP locales d’autres caches de contenus à partir desquelles ce cache doit télécharger ou transférer du contenu plutôt qu’à partir d’Apple directement. Les adresses non valides et les adresses des ordinateurs qui ne sont pas des caches de contenu sont ignorées. Les caches parents qui deviennent indisponibles sont ignorés en fonction du ParentRetryInterval. Si tous les caches de contenu parents deviennent indisponibles, le cache de contenu charge ou télécharge directement auprès d’Apple jusqu’à ce qu’un cache de contenu parent redevienne disponible. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | vide | |||||||||
ParentSelectionPolicy | La politique à utiliser lors du choix entre plusieurs caches de contenu parents configurés. Avec chaque politique, les caches parents qui sont momentanément indisponibles sont ignorés. Voici les différentes politiques :
Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | round robin | |||||||||
ParentUploadTimeout | Indique la durée (en secondes) pendant laquelle un chargement vers un cache de contenu parent est autorisé à être inactif avant d’être abandonné. Forcée entre 5 et 3 600 secondes, incluses. | 600 | |||||||||
PeerDownloadTimeout | Indique la durée (en secondes) pour laquelle un téléchargement à partir d’un cache de contenu pair est autorisé à être inactif avant d’être abandonné. Il est possible qu’une autre tentative de téléchargement soit lancée. Forcée entre 5 et 300 secondes, incluses. | 30 | |||||||||
PeerFilterRanges | Lorsque PeerFilterRanges consiste en un tableau d’entrées (telles que ListenRanges), le cache de contenu filtre et trie la liste de pairs correspondante en fonction des plages se trouvant dans le tableau. Le cache de contenu n’interroge que les pairs se trouvant dans la plage PeerFilterRanges. Le filtrage et le tri sont appliqués avant de tronquer la liste de pairs au niveau des entrées MaxPeersToQuery (si ce réglage est présent). Lorsque PeerFilterRanges consiste en un tableau vide, le cache de contenu n’interrogera aucun pair. Lorsque PeerFilterRanges est une valeur booléenne vraie, le cache de contenu procède comme ci-dessus, mais utilise ListenRanges au lieu de la valeur PeerFilterRanges. Lorsque PeerFilterRanges présente un autre type ou une autre valeur ou est manquante, le cache de contenu ne filtre ni ne trie la liste correspondante de pairs avant de tronquer la liste au niveau des entrées MaxPeersToQuery. PeerFilterRanges affecte uniquement la liste des autres caches de contenu que ce cache de contenu interroge pour rechercher du contenu et effectuer des téléchargements. Cela n’affecte nullement les demandes entrantes de contenus provenant d’autres caches de contenu. Le type subkey n’est plus nécessaire et est ignoré si présent. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | vide | |||||||||
PeerListenRanges | Lorsque PeerListenRanges est un tableau de dictionnaires où chaque dictionnaire représente une plage d’adresses IP, le cache de contenu ne répond qu’aux requêtes de mise en cache des caches de contenu pairs dotés d’une adresse IP comprise dans ce tableau de plages. Lorsque PeerListenRanges consiste en un tableau vide, le cache de contenu renvoie une erreur aux requêtes de mise en cache de tout autre cache de contenu. Lorsque PeerListenRanges est une valeur booléenne vraie, le cache de contenu utilise la valeur ListenRanges plutôt que la valeur PeerListenRanges pour déterminer de quels autres caches de contenu il accepte les requêtes de mise en cache. Lorsque PeerListenRanges présente un autre type ou lorsque la valeur est manquante, le cache de contenu répond aux requêtes de mise en cache provenant de tous les autres caches de contenu. PeerListenRanges n’a d’impact que sur les caches de contenu pour lesquels ce cache de contenu répond aux requêtes de mise en cache. Il n’a aucun impact sur la liste des pairs auxquels ce cache de contenu demande du contenu et auprès desquels il télécharge du contenu. Lorsqu’un cache de contenu répond à une requête de mise en cache par une erreur, le cache de contenu émetteur de la requête marque le cache de contenu qui a répondu comme inamical et ne tente plus de l’interroger tant que PeerRetryInterval n’est pas écoulé. Le type subkey n’est plus nécessaire et est ignoré si présent. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | vide | |||||||||
PeerLocalSubnetsOnly | Indique si le cache de contenu doit uniquement être un pair avec les caches de contenu du même réseau local ou avec ceux qui utilisent la même adresse IP publique que cet ordinateur. Lorsque la valeur de PeerLocalSubnetsOnly est « Vrai », le cache de contenu envoie des requêtes et ne répond qu’aux requêtes des caches de contenu pairs du même réseau local. Lorsque la valeur de PeerLocalSubnetsOnly est « Vrai », cela a pour effet de supplanter la configuration de PeerFilterRanges et de PeerListenRanges. Lorsque la valeur de PeerLocalSubnetsOnly est « Faux », le cache de contenu s’en remet à PeerFilterRanges et PeerListenRanges pour la configuration des restrictions d’échanges entre pairs. Lorsque la valeur de PeerLocalSubnetsOnly est « Vrai » et que le réseau change, les restrictions sur les pairs pour le réseau local sont mises à jour en conséquence. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | Oui | |||||||||
PeerNotifyTimeout | Indique la durée d’attente (en secondes) des réponses des caches de contenu pairs lorsque le système leur envoie une commande ping lors du démarrage. Forcée entre 5 et 300 secondes, incluses. | 30 | |||||||||
PeerQueryTimeout | Indique la durée d’attente (en secondes) des réponses des caches de contenu pairs lorsque le système leur envoie une demande d’informations relatives au contenu de leurs caches. Forcée entre 1 et 60 secondes, incluses. | 5 | |||||||||
PeerRetryInterval | Indique la durée (en secondes) du rejet des caches de contenu pairs à la suite d’une accumulation de trois avertissements ou échecs de demande consécutifs. Une fois l’intervalle de nouvelles tentatives dépassé, les caches de contenu pairs sont restaurés dans la liste de pairs à interroger pour du contenu. Forcée entre 30 et 3600 secondes, incluses. | 900 (secondes) | |||||||||
PersonalCacheLimit | Limite la quantité d’espace de stockage que le cache de contenu utilise pour les données iCloud mises en cache, en octets. La PersonalCacheLimit ne doit pas dépasser CacheLimit. | 0 (illimité) | |||||||||
Port | Indique le numéro de port TCP pour lequel la mise en cache de contenu accepte les demandes de chargement ou de téléchargement. | 0 (utilisez un port aléatoire) | |||||||||
PruneAffinitiesAge | Les affinités d’utilisateur plus anciennes que ce nombre de jours sont supprimées automatiquement des affinités mises en cache. Les affinités d’utilisateur fournissent des indications aux clients sur l’endroit où leur contenu est mis en cache, afin d’améliorer les performances. Le nettoyage des affinités d’utilisateur n’a aucun effet sur le contenu mis en cache. La valeur minimale forcée est de 7 jours. | 30 (jours) | |||||||||
PruneAffinitiesInterval | Indique la fréquence (en jours) à laquelle le cache de contenu doit rechercher et supprimer les affinités d’utilisateur antérieures au nombre de jours PruneAffinitiesAge. Les affinités d’utilisateur, utilisées uniquement par iCloud, fournissent des indications aux clients sur l’emplacement de mise en cache de leur contenu, afin d’améliorer les performances. Le nettoyage des affinités d’utilisateur n’a aucun effet sur le contenu mis en cache. La valeur minimale forcée est d’un jour. | 7 (jours) | |||||||||
PruneAssetsAge | Le contenu qui n’a pas fait l’objet d’une requête durant ce délai est supprimé du cache de contenu automatiquement. La valeur minimale forcée est de 7 jours. | 120 (jours) | |||||||||
PruneAssetsInterval | Indique la fréquence (en jours) à laquelle le cache de contenu doit rechercher et supprimer le contenu antérieur au nombre de jours PruneAssetsAge. La valeur minimale forcée est d’un jour. | 7 (jours) | |||||||||
PublicRanges | Indique les plages d’adresses IP publiques que les serveurs dans le cloud doivent utiliser pour associer les clients aux caches de contenu. Vous pouvez également définir cette valeur dans les réglages « Mise en cache de contenu ». | aucune valeur par défaut | |||||||||
ReservedVolumeSpace | Indique le nombre minimum d’octets d’espace de stockage disponible à maintenir pour le volume qui stocke le contenu mis en cache. | 2000000000 (2 Go) | |||||||||
TerminationTimeout | Indique la durée (en secondes) pendant laquelle le cache de contenu doit tenter de supprimer son enregistrement lorsqu’il est arrêté. La désinscription informe les clients que le cache de contenu n’est plus disponible afin qu’ils ne cherchent plus à l’utiliser (ou au moins, jusqu’à ce qu’il soit redémarré). Forcée entre 1 et 60 secondes, incluses. | 10 (secondes) | |||||||||
Verbose | Lorsque Verbose est défini sur true, le cache de contenu journalise un peu plus d’informations sur ses activités. L’augmentation du nombre de connexions peut réduire les performances. Ce réglage n’est pas recommandé pour une utilisation sur le long terme. Utilisez la commande Par exemple : Vous pouvez également utiliser l’app Console pour afficher les historiques. | Non |
Exemple de clé ListenRanges
La clé ListenRanges vous permet d’indiquer les caches de contenu préférés dans des topologies réseau avancées dans lesquelles plusieurs caches de contenu sont utilisés derrière la même adresse IP publique.
Par exemple :
miseencache1.betterbag.com utilise la clé ListenRanges pour indiquer une plage de 10.0.0.1 à 10.0.0.254 et de 10.1.0.1 à 10.1.0.254, et donne la valeur « No » à la clé ListenRangesOnly.
miseencache2.betterbag.com utilise la clé ListenRanges pour indiquer une plage de 10.1.0.1 à 10.1.0.39 (notez le chevauchement avec la deuxième plage de miseencache1), et donne la valeur « No » à la clé ListenRangesOnly.
Si un client utilisant l’adresse IP 10.0.0.10 demande du contenu, celui-ci est dirigé vers la miseencache1.
Si un client utilisant l’adresse IP 10.1.0.10 demande du contenu, celui-ci est dirigé vers la miseencache1 ou la miseencache2, de manière aléatoire.
Si un client utilisant l’adresse IP 10.2.0.10 demande du contenu, celui-ci est dirigé vers la miseencache1 ou la miseencache2, de manière aléatoire.
Si la miseencache1 est mise hors tension ou tombe en panne, mais que la miseencache2 reste disponible, tous les clients sont dirigés vers la miseencache2.
Exemple de fichier plist
Voici un exemple de fichier /Bibliothèque/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/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>