Optimisation d'une VM GCP et domptage de Neovim

Aujourd’hui, j’ai passé ma configuration de développement sur une VM Google Cloud Platform (GCP). Entre les contraintes de ressources de la machine et le peaufinage de mon environnement Neovim pour mon projet Rust, voici ce que j’ai appris.

1. Transfert de fichiers avec rsync

Pour uploader mes dossiers de projet vers la VM, j’ai utilisé rsync. C’est bien plus efficace que scp car il ne transfère que les modifications.

rsync -avzLP --exclude='.git' \ 
  ~/.local/share/typst/packages/preview/auto-mando/ \
  user@$(gcloud compute instances describe typst-bot-vm \
    --format='get(networkInterfaces[0].accessConfigs[0].natIP)' \
    --zone='us-east1-d'):~/

Le « combo doré » :

  • -a: mode archive, préserver les autorisations, liens symboliques et timestamps. Activer la récursion aussi.
  • -v: mode verbeux
  • -z: compression

Gemini a trouvé la commande qui retourne l’adresse externe IP de la VM, ce qui évite d’exposer l’adresse IP lors d’un stream.

2. Gérer le manque de RAM : Le Swap file

Les VM “n1-standard” ou “e2-micro” peuvent vite saturer leur RAM lors d’une compilation Rust un peu lourde. La solution : créer un fichier de swap.

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Pour le rendre permanent dans /etc/fstab :
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

3. Réduction du bruit (Logs)

Une VM peut vite remplir son disque de logs inutiles. J’ai fait le ménage sur deux fronts :

Sur la VM (Journald)

J’ai limité la taille maximale des logs système dans /etc/systemd/journald.conf en décommentant et modifiant : SystemMaxUse=50M

Sur l’interface Google Cloud

Dans la console GCP, j’ai ajusté les Sinks de logs dans “Logs Router” pour exclure les logs de santé (health checks) répétitifs qui gonflent inutilement la facture et l’interface.

4. Correction de Neovim (init.lua)

J’avais mis .setup() à la fin des ces lignes.

require("oil")
require("lualine")

Gemini m’a dit qu’il n’y avait pas besoin de le faire.

5. Le raccourci qui change la vie : Ctrl-y

Si comme moi vous utilisez blink.cmp ou nvim-cmp et que la touche Entrée ne semble pas valider la suggestion d’autocomplétion, souvenez-vous du raccourci natif de Vim :

Ctrl-y (le “y” pour yes) : Accepte la suggestion sélectionnée sans ajouter de saut de ligne.

C’est devenu mon nouveau réflexe pour coder plus vite en Rust sans me battre avec mon clavier.

GCP  Linux  Neovim  Rust  DevOps 

No comment

Your email address will not be published. Required fields are marked *.