Como redimensionar / executar (para aumentar / executar / shm maior) corretamente - e onde está o tamanho definido?

8

No Ubuntu 13.04, o / dev / shm é o link simbólico para / run / shm e / run / shm é apenas o subdiretório de / run. / run é alguns tmpfs que estão montados, mas ………… Não consigo encontrar por quê e como (certamente não está presente no / etc / fstab e não consigo grep nada que seja sensato no / etc / init *).

Embora esse diretório normalmente não precise de atenção, tanto ao tentar configurar o Oracle quanto ao tentar configurar o DB2, eu enfrentei erros que, no final, acabaram significando que „/ dev / shm é muito pequeno”. A Net está cheia de conselhos sobre como montar --rebind run para aumentá-la, mas essa operação interrompe aplicativos que usam / executam e já estão em execução no momento em que a religação acontece (e existem muitos deles, especialmente na área de trabalho, incluindo coisas como upstart, networkmanager ou udev).

Minhas perguntas:

  1. Onde exatamente é o código que monta / executa, quando isso acontece?

  2. O que devo mudar para aumentar / executar o tamanho no momento em que é criado? (no meu laptop é preciso 10% da memória - 600 MB no laptop de 6 GB - eu gostaria de dar 1 GB)

  3. Se 2 for impossível, qual é o momento adequado para religar / redimensionar para redimensioná-lo - isso acontece antes que qualquer coisa comece realmente a usar / executar?

  4. Existe alguma documentação sobre o assunto? Embora existam muitas postagens e notas sobre / executar como tal, não consegui encontrar nada sobre como configurá-lo.

Mekk
fonte
3
Para o bem da história: descobri que a melhor maneira de resolver problemas do oracle era ... editar binário $ ORACLE_HOME / bin / oracle e alterar as strings / dev / shm para / run / shm (felizmente elas são do mesmo comprimento) . A Oracle erroneamente calcula o tamanho em caso de ligação simbólica
MEKK
@Mekk; Brilhante! Utilizado: "vi /u01/app/oracle/product/11.2.0/xe/bin# vi oracle" e depois "Shift-Colon" e depois "% s / \ / dev \ / shm / \ / run \ / shm" e ENTRAR. Trabalhou como um campeão.
11743 Nicholas

Respostas:

10

No Ubuntu, essas montagens são configuradas /lib/init/fstabe, como diz nos comentários padrão, para substituir as configurações, você pode simplesmente copiar a linha /etc/fstabe modificá-la como achar melhor.

# /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
fonte
Para mim, apesar de ter personalizado o valor do tamanho de / run, ele ainda era montado usando o padrão de 10% da memória física. Quando digito mount, a entrada é listada com meu valor atualizado (nesse caso 50%), mas meu tamanho real alocado para o meu diretório / run ainda é 10%. Há algo que estou perdendo aqui?
Ryan Griffith
@RyanGriffith, com a mudança para systemd, / lib / init / fstab desapareceu, no entanto, o systemd ainda deve verificar / etc / fstab, e funcionou para mim quando tentei no 17.04.
Jason Conti