bonnie ++ приходит на ум:
Так, в зависимости от аппаратной конфигурации Вашего поля:
bonnie++ -d /path/to/mounted/ssd -r your-system-ram-size-in-MB
Пример:
# For a 32GB system with the SSD formatted and mounted at /mnt/mounted-ssd-001
bonnie++ -d /mnt/mounted-ssd-001 -r 32000
Это должно дать Вашему устройству хороший стресс-тест. Можно настроить его также.
Отметьте с SSD, когда сбойный блок происходит, это может получить remap'd автоматически аппаратными средствами диска, в зависимости от диска, с которым Вы работаете. Кроме того, утяжеленный тест разрушает продолжительность жизни записи Вашего SSD. Так, используйте по своему собственному усмотрению.
Править:
Добавление примечания об отказах SSD, так как было указано, что Bonnie ++ стресс-тесты, но не отслеживает ошибки. Путем SSD "повторно отображается, сбойные блоки" отличается от способа, которым жесткие диски делают переотображение. То, как это идет об этом, зависит полностью, на котором выпускаются под брендом/делают/моделируют SSD, который Вы имеете:
Когда SSD изменяет размер себя из-за изолируемых сбойных блоков, Вы, возможно, должны были бы сделать следующее для восстановления диска, если встроенное микропрограммное обеспечение диска автоматически не делает надлежащих обновлений автоматически:
http://communities.intel.com/message/145676
Если инструмент стресс-теста и регистрации ошибок не специально предназначен с SSD, в памяти, Вы просто израсходовали продолжительность жизни устройства.
Править:
На основе информации из ответов выше, предложите или замену кабеля с лучшим или замену диска (Замена RMA/Warrantee), поскольку такая ошибка уровня файловой системы ОС не нормальна.
Кроме того, если Ваша поддержка дисков это, можно увеличить сумму пространства, зарезервированного для ошибок из-за неправильного обращения:
http://www.thomas-krenn.com/en/wiki/SSD_Over-provisioning_using_hdparm
Попробуйте так:
$ awk 'FNR==NR{a[FNR]=$2;next};{$NF=a[FNR]};1' file2 file1
A 23 8 0
A 63 9 6
B 45 3 5
Для этого есть специальный инструмент: вставить
. Она объединяет каждую полную строку из первого файла с соответствующей строкой из второго; вы можете удалить ненужные столбцы до или после. Например, предполагая, что ваши столбцы разделены табуляциями:
paste file1.txt file2.txt | cut -f 1,2,3,6
Вот способ предварительной фильтрации обоих файлов, который полагается на подстановку процесса ksh/bash/zsh.
paste <(<file1.txt sed 's/[[:space:]][[:space:]]*[^[:space:]]*$//') \
<(<file1.txt sed 's/^[^[:space:]]*[[:space:]][[:space:]]*//')
Awk в первую очередь предназначен для обработки одного файла за раз, но вы можете вызвать getline
для параллельного чтения из другого файла.
awk '
BEGIN {file2=ARGV[2]; ARGV[2]="";}
{$0 = $0 ORS getline(); print $1, $2, $3, $6;}
' file1.txt file2.txt
До сих пор я предполагал, что вы хотите сопоставить строку 1 файла 1 со строкой 1 файла 2, строку 2 файла 1 со строкой 2 файла 2 и т.д. Если вы хотите, чтобы содержимое колонки совпадало, то это совсем другое дело. join
выполнит эту работу при условии, что столбец, которому вы хотите соответствовать, отсортирован.