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.

Mekk
la source
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).
Jason Conti
la source
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