Talvez eu não esteja formulando minha pergunta corretamente, mas farei o possível para explicar os sintomas que estou apresentando. Primeiro, por contexto, estou executando um servidor Ubuntu (sem GUI), versão 12.04.3 LTS (de acordo com o utilitário lsb_release). Geralmente faço todo o meu trabalho no tmux, conecto ao servidor via Putty e uso o vim para toda a minha edição de texto.
Agora para os sintomas. Desde que eu uso o tmux, geralmente tenho algumas janelas abertas o tempo todo. Um deles abriga um servidor de nó com o qual eu ando brincando e mora em um subdiretório da casa da minha conta de usuário (especificamente ~/battleship
). O servidor interage com uma página da Web que também estou hospedando fora do servidor usando o nginx e todo o código do site reside /usr/share/nginx/www/bs
(eu também mantenho uma janela separada para editar a fonte do cliente). O que acontece é que, após várias horas deixando a janela do servidor ociosa e intocada, ela parece ficar fora de sincronia. Eu posso correr ls
e ver os arquivos, e posso abri-los para edição ( vim server.js
). Quando faço isso, no entanto, independentemente de fazer alterações e salvar ou simplesmente sair instantaneamente, quando corrols
novamente, vejo um arquivo .server.js.swp e nenhuma das minhas alterações (se eu fiz alguma) persiste. Se eu sair desse diretório e depois voltar, ele se consertará - eu posso abrir o arquivo e editá-lo com sucesso, sem deixar para trás um .swp quando o fechar. Mencionei a origem do cliente metade das coisas, porque percebi que isso não acontece na pasta / www (provavelmente porque está fora do diretório inicial da minha conta de usuário).
Depois dessa parede de texto, minha pergunta é a seguinte: alguém sabe por que isso está acontecendo e como evitá-lo? Eu posso apenas imaginar que há alguma maneira, considerando que este não é o único servidor Linux ao qual me conecto via Putty e uso o tmux / vim, e ainda é o único onde esse comportamento estranho acontece. Qualquer ajuda seria apreciada.
Nota: marquei isso com bash, tmux e putty, porque estou assumindo que um deles é o culpado, mas realmente não tenho idéia de qual.
Atualização: Esta é a saída cat /proc/mount
solicitada por Gilles (embora com meu nome de usuário e os valores de ecryptfs_fnek_sig
e ecryptfs_sig
censurado, porque, embora eu realmente não saiba o que são essas duas coisas, elas parecem relacionadas à criptografia e são mais seguras do que remediar).
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=2008532k,nr_inodes=502133,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,relatime,size=807840k,mode=755 0 0
/dev/disk/by-uuid/2da27263-f079-47ba-90ad-66e4c3a53810 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
/home/[username]/.Private /home/[username] ecryptfs rw,relatime,ecryptfs_fnek_sig=[censored],ecryptfs_sig=[censored],ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs 0 0
Atualização 2: Aqui está a saída de uname -a
:
Linux [server-name] 3.5.0-39-generic #60~precise1-Ubuntu SMP Wed Aug 14 15:38:41 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Atualização 3: completei um passe de memtest. Este é o resultado do referido teste . Parece ter sido concluído sem erros, por isso não tenho certeza se isso vai ajudar com alguma coisa. Você também pode ver alguns detalhes de hardware, caso isso ajude de alguma forma.
cat /proc/mounts
para você. Espero que isso signifique algo para você - eu ainda sou muito novo no Linux, então aprendi muito aprendendo e ainda não brinquei com o sistema de arquivos (além de usá-lo).
uname -a
? Se for o seu hardware, conecte um console e faça um teste de memória na próxima inicialização. Se estiver hospedado, entre em contato com seu provedor de hospedagem e descreva esses sintomas.
sudo sync
, os arquivos serão atualizados?
df -h /www ~/battleship /usr/share/nginx/www/bs
. O problema com as montagens encryptfs? Talvez seja necessário um processamento sw extra para gravar nesse disco, para que haja armazenamento em cache ou algo acontecendo com isso?
cat /proc/mounts
)? Provavelmente, este é um servidor virtualizado, que tipo de virtualização ele está usando?