Je suis en train d'exécuter un Jetson nano avec Jetpack 4.4 qui (Ubuntu 18.04), par défaut, contient 4x495 MEG ZRAM partitions pour un espace d'échange. Le problème est que pour un projet de science de données, j'ai besoin de plus RAM que le 4GIG installé sur le Jetson (et tout ce que je reçois de zram compressé - pas beaucoup). Donc, je voudrais aussi faire un Fichier d'échange de 8 Go au lieu de l'échange de ZRAM.
Comment puis-je désactiver l'échange ZRAM pour que je puisse créer un fichier d'échange?
J'ai essayé
Sudo apt remove --purge zram-config
Sudo dpkg --purge zrawmswap-enabler
Sudo dpkg --purge zram-config
Sudo service zramswap stop
Mais rien de ça ne fonctionne. Zram Swap est toujours activé sur le redémarrage: -
Vous pouvez également créer un fichier de swap de disque et vous pouvez vous attendre à ce qu'il remplace ZRAM?
Avec ZRAM, vous avez échangé dans RAM et compressé. Chaque fois que votre système sonne, il le fera très vite, de même que la RAM.
Vous n'avez pas besoin d'arrêter le ZRAM pour remplacer par un autre swap. Vous pouvez simplement ajouter plus d'échange et laisser le système le gérer.
Si vous souhaitez modifier le ratio de configuration de ZRAM Modifier: /etc/systemd/nvzramconfig.sh
Afin de créer un nouveau swap sur disque, vous avez soit deux options:
Si vous attendez beaucoup de mouvements d'échange de bélier et de vexera:
Pour ce que vous commenciez, je pense que vous allez courir ce programme scientifique à quelques reprises, disons un maximum de 100 fois, alors même si l'échange est fortement utilisé ne peut pas être un problème pour un SSD national. Vous pouvez également joindre une NVME à l'aide d'un boîtier externe, mais vous ne verrez pas une vitesse élevée, car la contrainte de vitesse est dans la USB 3.0. La série Samsung Pro offre une double écriture avant de mourir.
Faites attention à utiliser le 3.0 et non une 2,0 accidentellement.
Si vous avez besoin d'utiliser ce programme scientifique, vous pouvez vous assembler un PC bon marché avec 16 Go ou 32 Go de RAM et vous n'avez pas besoin d'échange du tout.
Mise à jour 2020-11-04: Dans jetpack-4.4 NvzramConfig est un service SystemD, donc dans /etc/systemd/system Vous avez un fichier appelé nvzramconfig. service
#
# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
#
[Unit]
Description=ZRAM configuration
; Everything depends on the NVIDIA per-boot script
After=nv.service
; TPC power gating must be enabled before anything touching gpu
After=nvpmodel.service
[Service]
Type=simple
ExecStart=/etc/systemd/nvzramconfig.sh
[Install]
WantedBy=multi-user.target
Vous pouvez empêcher complètement ce service de commencer en le désactivant:
Sudo systemctl disable nvzramconfig
C'est la façon préférée de le faire. Mais si, pour une raison quelconque, vous ne voulez pas désactiver le service, ce n'est pas si agréable option consiste à simplement commenter toutes les lignes du fichier /etc/systemd/nvzramconfig.sh comme ceci:
#!/bin/bash
#
# Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
#
# NRDEVICES=$(grep -c ^processor /proc/cpuinfo | sed 's/^0$/1/')
# if modinfo zram | grep -q ' zram_num_devices:' 2>/dev/null; then
# MODPROBE_ARGS="zram_num_devices=${NRDEVICES}"
# Elif modinfo zram | grep -q ' num_devices:' 2>/dev/null; then
# MODPROBE_ARGS="num_devices=${NRDEVICES}"
# else
# exit 1
# fi
# modprobe zram "${MODPROBE_ARGS}"
# Calculate memory to use for zram (1/2 of ram)
# totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'`
# mem=$((("${totalmem}" / 2 / "${NRDEVICES}") * 1024))
# initialize the devices
# for i in $(seq "${NRDEVICES}"); do
# DEVNUMBER=$((i - 1))
# echo "${mem}" > /sys/block/zram"${DEVNUMBER}"/disksize
# mkswap /dev/zram"${DEVNUMBER}"
# swapon -p 5 /dev/zram"${DEVNUMBER}"
# done
Tant que l'exécution sort avec le niveau d'erreur 0 (donc aucune erreur ou aucun code de sortie différent de 0), il sera considéré comme fonctionne.
Dans les deux sens, le module du noyau ne sera pas chargé (Modprobe Zram).
Acclamations