Errno::ENOSPC: Ruby on Rails 中的设备上没有剩余空间

Errno::ENOSPC: Ruby on Rails 中的设备上没有剩余空间

我在具有 96 GB 存储空间的 Linode 上托管 Ruby on Rails 应用程序。我的应用程序的所有图像都存储在亚马逊上,并且都是从亚马逊获取的。因此我的 linode 应该至少有 80 GB 的可用存储空间。

但当日志文件应用程序超过 200 Mb 我收到错误:

Errno::ENOSPC: No space left on device

我的网站瘫痪了。

我每天都会使用文件中的以下代码为我的应用程序启用日志轮换/etc/logrotate.conf

path/to/application/log/*.log {
  daily
  missingok
  rotate 1
  compress
  delaycompress
  notifempty
  copytruncate
}

但是现在我开始每天收到两次相同的错误,因此我根据大小更改了配置设置:

path/to/application/log/*.log {
  size 1M
  missingok
  rotate 1
  compress
  delaycompress
  notifempty
  copytruncate
}

我还将 logrotate 文件从 /etc/cron.daily 移至 /etc/cron.hourly,以便 logrotate cronjob 每小时运行一次,并在日志超过 1M 时轮换日志。我重新启动了 apache。

但当我一小时后检查时,我的文件大小超过了 1M。因此logrotate cronjob 每小时后没有工作。当我使用以下命令强制旋转日志时:

 sudo /usr/sbin/logrotate -f /etc/logrotate.conf

然后日志文件被轮换并且文件大小减小。

我不明白为什么这种配置不起作用。此外,当 linode 上的空间为 80 GB 时,如果日志文件超过 200 Mb 会有什么影响. 有什么方法可以给日志目录分配更多的空间吗?

根据建议,我跑去df -ih检查我是否用完了索引节点。我得到以下输出:

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/xvda               2.2M    263K    2.0M   12% /
devtmpfs                174K    2.0K    172K    2% /dev
none                    174K       1    174K    1% /dev/shm
none                    174K      33    174K    1% /var/run
none                    174K       2    174K    1% /var/lock
none                    174K       1    174K    1% /lib/init/rw

因此我的 inode 几乎是空闲的。我的 inode 并没有用完。

的输出df -h如下:

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda             9.5G  8.7G  325M  97% /
devtmpfs             1010M  112K 1010M   1% /dev
none                 1010M     0 1010M   0% /dev/shm
none                 1010M   52K 1010M   1% /var/run
none                 1010M     0 1010M   0% /var/lock
none                 1010M     0 1010M   0% /lib/init/rw

我的磁盘空间确实不够了。我该怎么办?

请帮忙。非常感谢!

答案1

确实,您剩下的空间已经不多了。

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda             9.5G  8.7G  325M  97% /

只需几百兆,你的磁盘就会再次满了。

您说您预计会有比显示的更多的磁盘空间,因此我建议您联系 Linode 以了解发生了什么。

答案2

当我尝试运行 时,出现了同样的错误消息npm install

npm ERR! nospc ENOSPC: no space left on device, open /{dir}/...

我的修复方法如下:

  • sudo rm -rf node_modules- 删除 node_modules
  • df -hi- 检查可用磁盘空间
  • sudo apt-get update- 更新软件包
  • sudo apt-get autoremove- 使用“autoremove”删除不再需要的包
  • sudo apt-get -f install- 纠正损坏的依赖关系

答案3

我的看法是:

我发现 的输出lsof | grep -i deleted是几年前的 production.log。重新启动服务可以释放所有空间。我的想法来自:磁盘已满,du 显示不同。如何进一步调查?

答案4

te eue ebeebehujbs s hd dpqb d diqbduqbdhedq qeqe qw eq euqwe qw je jqwiejqwelenfqlq oq8q dqwe 1 2e 12 w2 22 2 2 22j e 1 3jwuuqdqdhsidiphispidaspidhshdah'-9qjrgnerigiirjwnoir8gw kr gjrnkwegw;iienrnr rrids doeihwoeofne rogrojipfpirpirjrpwpwrpwerjpwrjpweroweoprjwepjopwejfindf dfff ffff s ffw fow fdddd dddd ddnqidnnonwifeowneroihweriowheriohewoirhwiehirhwoiehriower we r wer wer w er我们 rw er 我们 r 我们 rw er 我们 r 我们 r 我们 rwer wer 我们 orinoiwninwoqoqnwowqriroriowewiironinonwoninefoifoiiofosififishfdihfohosfsoidfhshoiohfoihsoihfdoishdoifhoisdfosdf sfi f fjdjfofjj sifiosf ioosd fojsdfjfi ohsfjosfojsojfdiofdioifofdfflnsfioioofiwroiw0rhfiowhuibjnoij3rihdjfkrewfheuidbjkrojw8uihdfbjkerio8uegtbhrgnjeiruehgyuhjenriuhygjker4jhubjkrj4yeghjeritgkr423urfhdjgeriueghfjertugjikerijufhjwijufhghhgfdghjhgfghgfghgfghgygygfgfgytfgvgtfcfcfcfrfcfcfrcfrfcftfcftftffcftfvftfgtgvtfvftfvftvgtvgtgvtfvftft6fgyhff wwhe9rhwoerowheirhiowheoirowehorhowherhiowerhhweoriiewhroiwehorw0ur0wqeihroqohehohqpei​​ohiohoffhsifioahdoihof8qr8qw8rhwhqfh[whr880wrowfhdfh98wy98whf97uwqhuothqhrwheroiqhwoirhqw8iorhoiqhoriqhworih9q8hd odosufodsf8rqyrh08hohfoh07742394237423u4y2034y032974073274023942307947293709470923794792370983-58-85-88252034-283-42042-4233534-5-345-45-5-2-4--2-34234234234235325-2-52-5-----56-06-86-304880683-4863-6 -38068083-6836-3853084-2-84-234-50834-0-34-54-5834583-05-3845-3045-03485-0-83-45834-503-50-3-0384583-580-3058-08435-0-385-385-385-0385-03-58-345-34503-4504-5-34-5034-34805-3405-3-4-934952049724401247 97012974071042709707017147-0-43-40702474924-4-2470840248-48-14-1471-4-184-34824-4709273094174-14730273048177324702347234-4--4--2-4-2-974-2443---8--8-28--884288---948942342oijeioewrwe9ru-ewru0wer0ew-r*

黄油杯!qogruwhjhqyihkqejpqujepiqhpieqp9uenlowfblu9fihnlapjdihjbflihuvbdkjvnflemwifudvhbjndkewljrifdhvu bdfkewrljpfivhdukbfwelmjudbvkhf ekwu9fdvihbjsfmlekjrifuvhdibkjfnrwemlfouvgibhk ewlkmfji huihbdkflmeivhuibdnf kn 黄油杯!!!

标题 ##101010000101001101101001010100101010101011010100010010101001010100101010101000101010001010010100101010010100101010010110101010101101010101000100101010101001011001010101

*核弹!!!!!!!!!!!!核弹!!!!!!!!!!!!核弹!!!!!!!!!!!!核弹!!!!!!!!!!核弹!!!!!!!!!

相关内容