2016-12-25 51 views
0

我有一個EC2實例,它會一直運行Out Of Memory,從而依次殺死我的mongod進程。Amazon EC2實例:無法爲此文檔創建臨時文件。設備上沒有剩餘空間

做DF -h給出

udev   2.0G  0 2.0G 0% /dev 
tmpfs   396M 41M 355M 11% /run 
/dev/xvda1  7.8G 7.4G  0 100%/
tmpfs   2.0G  0 2.0G 0% /dev/shm 
tmpfs   5.0M  0 5.0M 0% /run/lock 
tmpfs   2.0G  0 2.0G 0% /sys/fs/cgroup 
tmpfs   396M  0 396M 0% /run/user/1000 

使我/dev/xvda1已滿。我去我的'/'或根目錄,並做一個

ls -l --block-size=M 
total 1M 
drwxr-xr-x 2 root root 1M Nov 22 04:49 bin 
drwxr-xr-x 3 root root 1M Dec 21 13:14 boot 
drwxrw-rwx 3 root root 1M Oct 18 21:01 data 
drwxr-xr-x 16 root root 1M Oct 18 20:30 dev 
drwxr-xr-x 91 root root 1M Dec 14 01:29 etc 
drwxr-xr-x 3 root root 1M Oct 18 20:30 home 
lrwxrwxrwx 1 root root 1M Dec 21 13:14 initrd.img -> boot/initrd.img-4.4.0-57-generic 
lrwxrwxrwx 1 root root 1M Dec 6 05:03 initrd.img.old -> boot/initrd.img-4.4.0-53-generic 
drwxr-xr-x 21 root root 1M Sep 7 19:24 lib 
drwxr-xr-x 2 root root 1M Sep 7 19:22 lib64 
drwx------ 2 root root 1M Sep 7 19:26 lost+found 
drwxr-xr-x 2 root root 1M Sep 7 19:22 media 
drwxr-xr-x 2 root root 1M Sep 7 19:22 mnt 
drwxr-xr-x 2 root root 1M Sep 7 19:22 opt 
dr-xr-xr-x 139 root root 0M Oct 18 20:29 proc 
drwx------ 4 root root 1M Oct 18 21:00 root 
drwxr-xr-x 23 root root 1M Dec 25 13:55 run 
drwxr-xr-x 2 root root 1M Oct 19 06:11 sbin 
drwxr-xr-x 2 root root 1M Sep 1 17:37 snap 
drwxr-xr-x 2 root root 1M Sep 7 19:22 srv 
dr-xr-xr-x 13 root root 0M Dec 25 13:59 sys 
drwxrwxrwt 11 root root 1M Dec 25 14:17 tmp 
drwxr-xr-x 10 root root 1M Sep 7 19:22 usr 
drwxr-xr-x 14 root root 1M Oct 18 20:52 var 
lrwxrwxrwx 1 root root 1M Dec 21 13:14 vmlinuz -> boot/vmlinuz-4.4.0-57-generic 
lrwxrwxrwx 1 root root 1M Dec 6 05:03 vmlinuz.old -> boot/vmlinuz-4.4.0-53-generic 

如果我加起來的所有文件大小它不會加起來7.4 GB。那麼是什麼?我該如何解決這個問題?這樣它就不會溢出並殺死我的mongod進程。

關於一些答案。它說重新啓動你的系統。重新啓動後是輸出。

udev   2.0G  0 2.0G 0% /dev 
tmpfs   396M 5.6M 390M 2% /run 
/dev/xvda1  7.8G 5.3G 2.2G 72%/
tmpfs   2.0G  0 2.0G 0% /dev/shm 
tmpfs   5.0M  0 5.0M 0% /run/lock 
tmpfs   2.0G  0 2.0G 0% /sys/fs/cgroup 
tmpfs   396M  0 396M 0% /run/user/1000 

我仍然使用5.3G的空間。什麼導致2 GB被填充?我如何深入研究這個問題?

回答

0

好吧,現在我已經知道了。我先做df -h。他們告訴我所有的文件夾有多少空間。我們只考慮/dev/xvda1。現在轉到主目錄並鍵入du -h -d 1,這意味着磁盤使用情況以及目錄級別1以可讀格式進行搜索。它告訴你每個目錄使用了多少空間。

然後我去那個目錄,並刪除佔用空間的東西。在我的情況下,它是日誌和寫腳本來自動gzip並將它們複製到我的本地機器上並刪除日誌。因此解決了這個問題。

-1

ls -l不顯示文件夾內文件的大小。你應該運行du -hs。例如:du -hs /* | sort -h

+0

謝謝,但這並不能解決問題 –

+0

在EC2上它主要是說不能讀取這個文件。我將如何深入研究問題 –

+0

如果它說'不能讀',你可以用'du -hs/* | grep -v「無法讀取」|排序-h'。 –

相關問題