Eu tenho uma sessão bash aberta para um servidor remoto e algo está errado. Eu criei um diretório "test" e toquei os arquivos dentro de touch 1 2 3 4 5
. Eu então tentei copiar o diretório cp test/ test2/
e ele desligou. Matou com ^ C; entrou no diretório e tentou cp 1 2
; pendurou também.
Eu então tentei fazer um ls e recebi o seguinte erro:
-bash: fork: Cannot allocate memory
Agora, sei que há memória disponível. Eu entrei em outro terminal que padrão para o meu diretório inicial. touch 1
e cp 1 2
e trava. Eu posso ls
embora ..
Conectado como root e tentou cp 1 2
do mesmo diretório e funciona. Nenhum problema da conta raiz.
Muita memória livre:
#free -h
total used free shared buff/cache available
Mem: 188G 87G 3.4G 1.8G 97G 3.3G
Swap: 3.9G 3.8G 140M
Eu ainda tenho a outra sessão ssh que está dando meus erros de alocação abertos para testes. O que está acontecendo?
Atualização 1
Eu tentei executar cp 1 2
do terminal que eu ainda posso de comandos, mas trava e, em seguida, top -b | grep -w bash
da minha conta raiz. O comando cp
nunca é exibido.
O outro terminal que estava relatando problemas de alocação de memória agora está respondendo a ls
, mas ainda trava com cp 1 2
.
Atualização 2
O problema foi uma configuração incorreta no .bashrc compartilhado:
function cp() {
cp --preserve=all --no-dereference $@
}
Considerando que deveria ter sido configurado como:
alias cp='cp -adR'
Tags memory linux centos out-of-memory