Если Вы только храните информацию о видео и изображениях в базе данных, Вы не должны достигать такого предела быстро.
Для тестирования этого, почему не, Вы устанавливаете Экспресс SQL Server 2005 года в своей системе и видите, насколько большой Ваша база данных с объемом демонстрационных данных близко к тому, что Вы ожидаете. Кроме того, большинство хостинговых компаний дает Вам опцию переместиться в большую базу данных позже поэтому, если Вы думаете, что это будет проблема, удостоверяются, что пошли с компанией, которая позволяет это.
Кроме предложений выше, я также видел эту проблему, когда существует очень большое количество файлов в каталоге, который Вы перечисляете, который amy заставить файловую систему исчерпывать inodes. Если это - возможность, попытайтесь просто оставить команду ls, чтобы видеть, завершается ли она через некоторое время.
Ваши диски, вероятно, в беде. Вы могли попробовать это:
Terminal 1$ ls /data/somedir/somesubdir/
(hang)
Terminal 2$ ps auxww | grep somesubdir
Если состояние Вашего ls D
, это означает, что ожидает диска, чтобы сделать что-то. Заглянуть dmesg
для сообщений о состоянии, и изучают УМНЫЙ, если Вы уже не используете его, чтобы видеть, насколько здоровый те диски.
Почему делает find
работа хорошо? Поскольку это не делает a stat()
на каждом файле. Это указывает, что каталог в порядке, но один или несколько файлов находится на поврежденном разделе диска (или что-то подобное).
ls без любых флагов ничего не возвратит, если каталог будет пуст. Вам нужно, по крайней мере, ls-a, если Вы хотите видеть что-нибудь в случае каталога, являющегося пустым.
Если каталог не пуст, возможно, что у Вас есть поврежденная файловая система - выполняет fsck для проверки. Если файловая система хорошо, и каталог не пуст, затем должен подвергнуть сомнению ls - возможно, Ваша копия ls была заменена в очень примитивной форме руткита?
Возможно, существует файл с именем, которое содержит последовательность байтов, которые блокируют Ваш терминал. Можно иногда разблокировать заблокированную терминальную отправку Ctrl-Q
сочетание клавиш (Ctrl-S
блокирует его).
Попытайтесь сделать /bin/ls -N | less -S
и посмотрите, если существует какое-либо имя файла с подозрительными или управляющими символами. Меньше показало бы это символы шестнадцатеричными кодами в угловых скобках, например <BF>
.
Существование файла с символами с кодом ниже, чем 32 (от <01>
кому: <1F>
) может быть знак системного компромисса. Или ошибка управления памятью в некоторой программе, которые создают файлы там.
dir_index
, включил в файловой системе:sudo dumpe2fs /dev/sda1|grep 'Filesystem features'
, Если это не включено, затем: 1. резервное копирование 2. umount файловая система 3. tune2fs-O dir_index/dev/.... 4. e2fsck-D/dev/.... – Mircea Vutcovici 15 March 2010 в 20:05