Comment puis-je empêcher l'utilisation ntfs-3g Échapper ma mémoire ZFS ARC?
Mon microcore est en cours d'exécution HP
http://www.openmediavault.org/
2.1.18 (Stone Burner) sur la base Debian GNU / Linux 7 (wheezy).
Il y a quelques jours, j'avais besoin de copier un grand nombre de fichiers d'un lecteur USB formaté dans NTFS. Connecté, monté, a lancé une copie et laissée jusqu'à la fin.
Un jour plus tard, j'ai trouvé qu'il n'avait pas copié presque rien, et la performance de mon NAS abattre. Au cours de l'enquête, j'ai constaté que la page et le cache tampon occupent maintenant plus 3/4 Mémoire système (ensemble ils prennent généralement moins 10%), et ZFS ARC Maintenant compressé dans la mémoire restante (moins 1/4 De la taille normale. ).
Lorsque je me suis rendu compte que ce n'était pas le cas, j'ai arrêté la copie, non montée et éteint le disque, et très rapidement, Kechi est retourné à leur taille normale, puis ARC A commencé à remplir un niveau normal.
Donc, si je dois faire plus de copies directes à l'avenir, comment puis-je empêcher le montage des disques ntfs, conduisant à la consommation d'un grand nombre de mémoire et de la privation de mon ZFS ARC mémoire nécessaire?
Remarque: j'ai essayé de courir
(sur "Pages de cache libre dentries et inodes» selon
), car
https://serverfault.com/users/269155/shodanshok
https://serverfault.com/a/734645/25092
, Mais il a aussi effacé mon ARC (À l'exception de la mémoire requise pour la mise en cache d'en-tête L2ARC). Ainsi, il y avait beaucoup de mémoire libre dans mon système, mais comme tout est mis en cache seulement dans ARC ou L2ARC, Mon système a passé toute l'éternité à recharger des disques pour un remplissage répété ARC, Quel était un état de choses indésirable.
Dans cette image, vous pouvez voir le jeûne ZFS Au début du 5, quand j'ai lancé ma copie ntfs, tout revient à la normale lorsque le disque est déconnecté ntfs Au début du 6, puis, enfin, effacé (et restaure) ARC Après avoir utilisé drop_caches, 7 février jours.
http://www.openmediavault.org/
2.1.18 (Stone Burner) sur la base Debian GNU / Linux 7 (wheezy).
Il y a quelques jours, j'avais besoin de copier un grand nombre de fichiers d'un lecteur USB formaté dans NTFS. Connecté, monté, a lancé une copie et laissée jusqu'à la fin.
Un jour plus tard, j'ai trouvé qu'il n'avait pas copié presque rien, et la performance de mon NAS abattre. Au cours de l'enquête, j'ai constaté que la page et le cache tampon occupent maintenant plus 3/4 Mémoire système (ensemble ils prennent généralement moins 10%), et ZFS ARC Maintenant compressé dans la mémoire restante (moins 1/4 De la taille normale. ).
Lorsque je me suis rendu compte que ce n'était pas le cas, j'ai arrêté la copie, non montée et éteint le disque, et très rapidement, Kechi est retourné à leur taille normale, puis ARC A commencé à remplir un niveau normal.
Donc, si je dois faire plus de copies directes à l'avenir, comment puis-je empêcher le montage des disques ntfs, conduisant à la consommation d'un grand nombre de mémoire et de la privation de mon ZFS ARC mémoire nécessaire?
Remarque: j'ai essayé de courir
echo 3 > /proc/sys/vm/drop_caches
(sur "Pages de cache libre dentries et inodes» selon
man 5 proc
), car
https://serverfault.com/users/269155/shodanshok
https://serverfault.com/a/734645/25092
, Mais il a aussi effacé mon ARC (À l'exception de la mémoire requise pour la mise en cache d'en-tête L2ARC). Ainsi, il y avait beaucoup de mémoire libre dans mon système, mais comme tout est mis en cache seulement dans ARC ou L2ARC, Mon système a passé toute l'éternité à recharger des disques pour un remplissage répété ARC, Quel était un état de choses indésirable.
Dans cette image, vous pouvez voir le jeûne ZFS Au début du 5, quand j'ai lancé ma copie ntfs, tout revient à la normale lorsque le disque est déconnecté ntfs Au début du 6, puis, enfin, effacé (et restaure) ARC Après avoir utilisé drop_caches, 7 février jours.
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
1 réponses
Babette
Confirmation de:
De plus, vous pouvez essayer une autre façon d'éviter la mémoire tampon de contamination / Pages de cache. En substance, vous devez copier chaque fichier en utilisant DIRECT_IO, Cache de pages contournant complètement les pages. Vous pouvez le faire avec une équipe comme:
La commande ci-dessus s'ouvre srcfile Avec option O_DIRECT, Contourner le cache des pages en lisant.
Mais pas pendant l'enregistrement
. Si vous avez besoin de vous déplacer même une mise en cache d'enregistrement, vous pouvez ajouter un autre
option.
Ce problème avec la décision ci-dessus est que vous devez spécifier le fichier un par un en effectuant plusieurs (Peut-être des milliers). Cela signifie que vous deviez écrire un script autour
, Vous pouvez donc copier tout le répertoire de trois.
D'autres options incluent:
utilisation
au lieu de
Utiliser simple
Avec le premier démarrage
(voir
https://github.com/gburd/libdirectio
Plus de détails)
Enfin, vous pouvez essayer de démarrer l'application / copie NTFS de l'autre côté
et installer certaines restrictions de mémoire qui doivent également fonctionner pour limiter la mise en cache de page.