DataLoader worker (pid 2287) is killed by signal: Killed. pytorch訓練解決方法


1.原因

可能是因為pytorch訓練過程太費內存了,導致服務器內存不夠,觸發OS的保護機制,直接殺死了進程

2.解決方案

增加機器的swap區,以此來增加內存的交換區來“假裝”增加內存條

2.1查詢內存和交換區大小的命令

free

2.2先禁止swap功能

sudo swapoff /swapfile

執行完這個命令后,你用free會發現,swap區大小為零

2.3增加swapfile大小

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 oflag=append conv=notrunc

這個命令會在原swapfile基礎上追加一個G的空間,如果空間不夠,更改count的值即可。

2.4設置這個文件為swap分區的掛載點

sudo mkswap /swapfile

2.5啟用swap

sudo swapon /swapfile

2.6使用free查看分區是否增加了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM