Comment redimensionner / exécuter (pour agrandir / exécuter / shm) correctement - et où est sa taille?


8

Sur Ubuntu 13.04 / dev / shm est un lien symbolique vers / run / shm et / run / shm est juste un sous-répertoire de / run. / run est un tmpfs qui est monté mais ………… je ne peux pas trouver par quoi et comment (sûrement il n'est pas présent dans / etc / fstab et je ne peux rien percevoir de sensé dans / etc / init *).

Bien que ce répertoire n'ait généralement pas besoin d'attention, à la fois lors de la configuration d'Oracle et lors de la configuration de DB2, j'ai rencontré des erreurs qui se sont finalement révélées être «/ dev / shm est trop petit». Net est plein de conseils sur la façon de monter --rebind run pour l'agrandir, mais cette opération casse bien les applications qui utilisent / exécutent et sont déjà en cours d'exécution au moment où le rebind se produit (et il y en a beaucoup, en particulier sur le bureau, y compris des choses comme upstart, networkmanager ou udev).

Mes questions:

  1. Où est exactement le code qui monte / s'exécute, quand cela se produit-il?

  2. Que dois-je changer pour augmenter / exécuter la taille au moment de sa création? (sur mon ordinateur portable, il prend 10% de mémoire - 600 Mo sur un ordinateur portable de 6 Go - je voudrais lui donner 1 Go)

  3. Si 2 est impossible, quel est le moment approprié pour relier / exécuter pour le redimensionner - donc cela se produit avant que tout ne commence à utiliser / exécuter?

  4. Existe-t-il une documentation sur le sujet? Bien qu'il existe de nombreux messages et notes sur / exécuter en tant que tel, je n'ai rien trouvé sur la configuration.


3
Par souci d'histoire: j'ai trouvé que la meilleure façon de résoudre les problèmes d'oracle était de ... éditer binaire $ ORACLE_HOME / bin / oracle et changer les chaînes / dev / shm en / run / shm (heureusement, elles sont de la même longueur) . Oracle calcule à tort la taille en cas de lien symbolique
Mekk

@Mekk; Brillant ! Utilisé: "vi /u01/app/oracle/product/11.2.0/xe/bin# vi oracle" puis "Shift-Colon" puis "% s / \ / dev \ / shm / \ / run \ / shm" et ENTRER. A fonctionné comme un champion.
Nicholas

Réponses:


10

Dans Ubuntu, ces montages sont configurés /lib/init/fstabet, comme il est indiqué dans les commentaires par défaut, pour remplacer les paramètres, vous pouvez simplement copier la ligne /etc/fstabet la modifier comme bon vous semble.

# /lib/init/fstab: static file system information.
#
# These are the filesystems that are always mounted on boot, you can
# override any of these by copying the appropriate line from this file into
# /etc/fstab and tweaking it as you see fit.  See fstab(5).

Pour moi, bien que j'aie personnalisé la valeur de taille de / run, il était toujours monté en utilisant les 10% de mémoire physique par défaut. Lorsque je tape mount, l'entrée est répertoriée avec ma valeur mise à jour (dans ce cas 50%), mais ma taille réelle allouée pour mon répertoire / run est toujours 10%. Y a-t-il quelque chose qui me manque ici?
Ryan Griffith

@RyanGriffith, avec le passage à systemd, / lib / init / fstab a disparu, mais systemd est censé toujours vérifier / etc / fstab, et cela a fonctionné pour moi quand je l'ai essayé le 17.04.
Jason Conti
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.