44-контактный промышленный флэш-ID на встроенном debian зависает через неопределенный период времени [закрыто]

На встроенной системе, использующей 44-контактную промышленную флеш-память Transcend, через некоторое время я заметил, что не могу читать какие-либо файлы или записывать на диск. Я использую ядро ​​3.2.0. * BPO i686 SMP PAE. Иногда это сопровождается зависанием ядра резервного порта, но всегда приводит к полному зависанию системы в ядре Debian 6 по умолчанию. Когда я пытаюсь перезагрузиться в этот момент, он всегда зависает, если я выключаю питание (что обычно нормально, так как это корневая система только для чтения), я обычно получаю зависшую загрузку на fsck, жалуясь, что один из записываемых разделов не был чисто демонтированный. fsck / dev / ... -y всегда исправляет.

Когда я это заметил, я изменил наше основное приложение так, чтобы оно считывало только из ide при запуске и записывало в файлы конфигурации только тогда, когда клиент вызывает функцию WriteConfigurationToDisk. Однако это резко улучшило ситуацию, но через некоторое время начинает происходить то же самое. Кажется, что это происходит не повсеместно, только примерно на 10% продукта.

Это корневая система только для чтения. Каждый раздел представляет собой журналируемую файловую систему ext3. Кроме того, только операционная система записывает что-либо на диск - и большая часть этого происходит при загрузке.Есть идеи, что мне следует проверить?

Обновление Я провел еще несколько исследований, и мне кажется, что ext3, возможно, убивает мою флешку, поэтому замороженные операции чтения / записи являются результатом плохого вспышка. Может быть, мне перейти на JFSS2?

2
задан 22 August 2012 в 19:18
1 ответ

На SSD вы можете попробовать использовать файловую систему ext4, а затем смонтировать ее, используя опцию discard. В fstab:

UUID=XXXXXXXXXXXX       /            ext4     discard         0       1

Добавьте любые другие параметры, которые вы хотите, такие как noatime или errors = remount-ro.

Параметр сброса потенциально включает TRIM на SSD, что может увеличить его срок службы, https: // ext4. wiki.kernel.org/index.php/Ext4_Howto#Ext4_code_implements_discard.2FTRIM

Однако это будет работать, только если другие (базовые) системы также поддерживают его.

Я не уверен, поддерживает ли ваш флеш-диск TRIM, поскольку он не часть самой микросхемы, а часть логики накопителя, содержащего микросхемы. Мне нужно точно знать, что это за устройство.

Но простое изменение самой файловой системы может облегчить ситуацию, я предпочитаю xfs. Файловая система ext3 достаточно хороша для многих целей, но у него больше этих проблем с восстановлением (требующих fsck -y), чем у других, таких как xfs, которые я никогда не обнаруживал, чтобы выручить меня.

Установка этого в / etc / default / rcS включает автоматическое восстановление файловой системы (ext3) при загрузке, не нужно нажимать "y":

FSCKFIX=yes

Обновление: я проверил спецификации этого устройства, и оказалось, что оно не поддерживает TRIM, хотя это довольно симпатичное маленькое устройство. Вы правы насчет журналирования, и если TRIM не поддерживается, вы можете повысить надежность, используя файловую систему ext2 или другую файловую систему без журналирования.

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

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

3
ответ дан 3 December 2019 в 10:54

Теги

Похожие вопросы