O AIX não para de criar arquivos aleatórios .nfsXXXX

5

Estou tentando excluir alguns arquivos e pastas, mas não consigo, porque o sistema continua recriando os arquivos.

Todos esses arquivos são nomeados .nfsXXXX , onde XXXX é um número hexadecimal aleatório de 4 caracteres. Sempre que eu apago um desses arquivos, ele cria outro com um nome diferente, mas com o mesmo conteúdo.

Isso está acontecendo em vários diretórios não relacionados. O que poderia estar causando isso e como posso corrigi-lo?

    
por NullUser 30.12.2011 / 01:03

4 respostas

6

Citação textual de link :

Under linux/unix, if you remove a file that a currently running process still has open, the file isn't really removed. Once the process closes the file, the OS then removes the file handle and frees up the disk blocks. This process is complicated slightly when the file that is open and removed is on an NFS mounted filesystem. Since the process that has the file open is running on one machine (such as a workstation in your office or lab) and the files are on the file server, there has to be some way for the two machines to communicate information about this file. The way NFS does this is with the .nfsNNNN files. If you try to remove one of these file, and the file is still open, it will just reappear with a different number. So, in order to remove the file completely you must kill the process that has it open.

If you want to know what process has this file open, you can use 'lsof .nfs1234'. Note, however, this will only work on the machine where the processes that has the file open is running. So, if your process is running on one machine (eg. bobac) and you run the lsof on some other burrow machine (eg. silo or prairiedog), you won't see anything.

    
por 30.12.2011 / 01:54
1

Esses arquivos .nfsXXXX são uma parte normal da operação do NFS. Não vou repetir o que @Keith Thompson escreveu, mas uma coisa a fazer é não excluí-los imediatamente, configurar um cron job para removê-los se eles não tiverem sido acessados em algum momento:

find dir .name .nfs\* -atime +3 -delete
    
por 30.12.2011 / 02:46
1

A resposta anterior não é suficiente. O problema no AIX é que uma biblioteca ainda pode ser carregada na memória, mesmo se nenhum outro processo a estiver usando. Neste caso, você terá o mesmo problema para remover o arquivo da biblioteca em um sistema de arquivos nfs.

A única maneira que encontrei até agora é iniciar o comando "slibclean" com o usuário root para descarregar da memória as bibliotecas não usadas, mas não carregadas, e poder excluir o arquivo da biblioteca.

    
por 23.01.2018 / 10:58
0

Outra opção é excluir os arquivos .nfsXXXX do lado do servidor.

    
por 18.01.2012 / 03:26

Tags