A menos que você esteja baixando o arquivo para /dev/shm
ou um tmpfs
file system wget, por si só, não deve estar usando gigabytes de memória. Heck, nem deveria estar usando megabytes.
É altamente improvável que wget
esteja consumindo muita memória. Como você está verificando seu uso?
Se você executar top -o RES
, ele classificará por utilização de memória (não compartilhada). Ignore a coluna VIRT
, observe a coluna RES
do tamanho. Se uma unidade (KB, MB, GB) não for exibida, é mais provável que seja relatada em KB.
Você pode usar ps aux
(ou uma infinidade de outras configurações de sinalizador) para obter a utilização de memória para cada processo. Observe a coluna RSS
do tamanho da memória não compartilhada do processo. Isso informará o tamanho em KB.
Se isso ajudar, aqui está uma maneira fácil de mostrar o quanto está sendo usado. Abra duas sessões de shell no seu servidor. Na primeira execução deste loop while:
while true
do
ps -eo size,command | awk '/wget/&&!/ps.*awk/{print $1, "KB", $2}'
sleep 5
done
Na segunda sessão, execute seu wget command
. Na primeira sessão de terminal, você deverá ver uma saída semelhante a esta:
$ bash loop.sh
516 KB wget
516 KB wget
516 KB wget
516 KB wget
... (so on and so forth until you CTRL-C out of the while loop)
Ele executará ps
a cada cinco segundos e informará exatamente quanto de memória está sendo usada por esse processo.
Se estiver usando gigabytes de memória ... bem, há algo realmente errado com wget
ou as bibliotecas compartilhadas que ele usa. Nesse ponto, você precisará usar lsof
ou strace
ou outros utilitários semelhantes para descobrir o que está errado.