O que acontece se o último processo em um namespace sair?

4

Estou executando o Linux.

Eu tenho um único processo em um namespace de montagem. Eu fiz neste processo um mount -t tmpfs tmpfs /mountpoint .

O que acontece se o processo sair e não houver mais processos nesse namespace de montagem? O sistema de arquivos será automaticamente desmontado? O namespace mount será destruído? Se os namespaces e a montagem ainda estiverem ativos, como eu os acesso?

O que acontece com as interfaces tun / tap / macvtap se um namespace de rede não tiver mais processos?

    
por abraXxl 25.06.2015 / 17:40

2 respostas

2

Parece que as montarias permanecem, mas tornam-se inacessíveis.

Eu fiz o seguinte como um teste:

  1. Inseriu um novo namespace e montou o tmpfs:
root@localhost:~# mkdir tmp
root@localhost:~# unshare -m bash
root@localhost:~# mount -t tmpfs tmpfs tmp
  1. Verificado uso de memória antes e depois de criar um arquivo de 200 megabytes no tmpfs. Você pode observar o uso "compartilhado" passando de 404 megabytes para 604 megabytes:
root@localhost:~# free -m
              total        used        free      shared  buff/cache   available
Mem:           9885        2966         681         404        6237        6148
Swap:          8191         293        7898
root@localhost:~# dd if=/dev/urandom of=tmp/dummy bs=1M count=200
200+0 records in
200+0 records out
209715200 bytes (210 MB, 200 MiB) copied, 12.0075 s, 17.5 MB/s
root@localhost:~# free -m
              total        used        free      shared  buff/cache   available
Mem:           9885        2966         481         604        6437        5948
Swap:          8191         293        7898
  1. Saiu o shell não compartilhado, a memória não foi recuperada:
root@localhost:~# exit
root@localhost:~# free -m
              total        used        free      shared  buff/cache   available
Mem:           9885        2963         484         604        6437        5951
Swap:          8191         293        7898

Considerando que, se eu desmontar o tmpfs, a contagem shared retornará ao valor inicial.

    
por 01.03.2017 / 09:52
0

Não é possível adicionar um comentário, porque não há representante suficiente, então aqui vai: Eu fiz exatamente o mesmo teste que o jpa em um trecho debian não modificado e a memória retorna ao valor inicial, mesmo que eu não tenha desmontado. Então parece que esse comportamento mudou.

link

implica isso pelo menos dizendo:

Bind mounting (see mount(2)) one of the files in this directory to somewhere else in the filesystem keeps the corresponding namespace of the process specified by pid alive even if all processes currently in the namespace terminate.

Portanto, não fazer isso destrói o namespace (?).

    
por 10.09.2018 / 19:45