Я получаю следующую ошибку при запуске моего веб-сайта Rails, и я считаю, что это приводит к его падению. Я использую Passenger, и мой сайт активно посещается. Когда я пытаюсь вернуть его в оперативный режим, Apache порождает большое количество дочерних узлов, и нагрузка на машину возрастает примерно до 50, и сайт становится очень медленным. У меня нет недостатка в дисках.

PGError (FATAL:  could not access status of transaction 0
DETAIL:  could not write to file "pg_subtrans/009B" at offset 8192: No space left on device):
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:876:in `initialize'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:876:in `connect'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:876:in `connect'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:276:in `initialize'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `new'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `send'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:292:in `connection='
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:260:in `retrieve_connection'
    /vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:78:in `connection'
    /vendor/rails/activerecord/lib/active_record/query_ca
1
Stephen 4 Сен 2009 в 01:34

2 ответа

Ошибка «Нет свободного места на устройстве» не обязательно вызвана нехваткой места. Это также может быть вызвано заполнением таблицы inode вашей файловой системы — другими словами, ваша файловая система может содержать только определенное количество файлов, и вы достигли этого предела.

Это может произойти, если у вас очень большое количество крошечных файлов. В таких ситуациях обычно создают новую файловую систему с большой таблицей инодов, чтобы обеспечить большее количество небольших файлов.

1
skaffman 4 Сен 2009 в 01:38
2
Чтобы проверить это, запустите df -i из оболочки.
 – 
Stephen Veiss
5 Сен 2009 в 20:43

Другой возможностью могут быть дисковые квоты для каждого пользователя — см. http://www. .postgresql.org/docs/8.4/static/disk-full.html

0
Henrik Opel 4 Сен 2009 в 01:44