Je configure et compile un nouveau noyau 3.0. L'un des avantages que je prévoyais d'utiliser depuis un certain temps (en corrigeant) qui a été fusionné en 3.0 est zram.
Est-il possible de définir à la fois le swap hdd et le swap zram de sorte que le zram soit utilisé en premier et que seules les pages renversées soient placées dans le swap réel?
linux
swap
zram
virtual-memory
Maciej Piechotka
la source
la source
max_comp_streams
semble être1
conforme à la documentation . Je n'ai pas vérifié si ce paramètre existait en 2011, mais il semble être une meilleure option que plusieurs fichiers d'échange.zram-config
sous Ubuntu (et probablement Debian) J'ai remarqué que la configuration par défaut est 1 par cœur ou thread (2 sur un ancien E2140 dual core et 4 sur un i3-3220)swapon
avoir un-p
commutateur qui définit la priorité. Je peux mettre en place:Ou dans / etc / fstab:
EDIT: juste pour une solution complète - une telle ligne peut être utile comme règle udev:
la source
Sélectionnez le nombre d'appareils Zram que vous souhaitez en passant
aux paramètres du noyau ou directement au module (sans zram.). La valeur par défaut est 1. zram pourra utiliser autant de processeurs que le nombre de périphériques que vous créez.
Préparez le périphérique zram0, définissez la taille sur 1 Go.
Alternativement, vous pouvez le faire par la règle udev. Créer un échange sur zram0
et l'activer avec une priorité plus élevée que les autres appareils de swap
la source
zram0
etzram1
à la valeur 10 sur une boîte noyaux Intel T9300 2, il me jette avec:swapon: /dev/zram0 or 1: swapon failed: Device or resource busy
.Pour une raison quelconque, il semble y avoir beaucoup d'interprétation erronée de https://www.kernel.org/doc/Documentation/blockdev/zram.txt
Il indique clairement:
Mais il existe un mythe urbain commun et persistant selon lequel le nombre maximal de flux est de 1.
Ce n'est manifestement pas vrai.
Les deux systèmes d'exploitation où zram a prouvé son efficacité Chrome OS et Android vous un seul appareil. Ils ont également peaufiné
page-cluster
:- à partir de la documentation du noyau pour
/proc/sys/vm/*
Donc, utilisez
echo "0" > /proc/sys/vm/page-cluster
pour forcer une seule page.Beaucoup semble provenir de zram_config le paquet debian / ubuntu qui, pour une raison quelconque, semble avoir très peu de corrélation avec les documents du noyau pour zram et a engendré une série de chuchotements chinois qui, en substance, pourraient être complètement faux.
Avec l'échange de fichiers, créez-vous un lecteur d'échange pour chaque cœur? Cela pourrait peut-être répondre à vos questions. De plus, pour sauvegarder cela, Googles Chrome OS et Android qui utilisent avec succès le groupe de pages ci-dessus car il ne correspond pas à un disque afin que la latence puisse être améliorée, sur des appareils uniques.
Aussi pour un administrateur système, quelle est l'utilisation réelle de mem ou l'utilisation de mem vm? La plupart des exemples montrent la création via disk_size et ignorent totalement mem_limit. disk_size = taille vm non compressée. mem_limit = limite réelle de l'empreinte mem.
Cela rend le choix de disk_size déroutant car sa taille maximale virtuelle dépend du rapport comp_alg et de la surcharge de 0,1% de la taille du disque lorsqu'il n'est pas utilisé et est vraiment une estimation approximative de mem_limit * (environ 2 à 4) de frugal vs optimisme.
zram_config ne vérifie même pas l'utilisation du service précédent et écrase alors qu'une simple vérification de la classe sys zram comme ci-dessous le fera.
la source
Lorsque vous activez zram, il aura automatiquement la priorité.
Pour Ubuntu 16.04:
/usr/bin/init-zram-swapping
Vous pouvez éditer ce fichier (faire une sauvegarde en premier), pour abaisser le vrai ram utilisé, j'ai changé la ligne mem en ceci:
la source