Как выбрать правильные параметры при использовании badblocks?

Вы не можете открыть разделы Windows, которые перешли в спящий режим. Вам нужно действительно закрыть окна, чтобы открыть эти разделы в Ubuntu.

6
задан 31 August 2011 в 23:51

16 ответов

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 25 May 2018 в 19:04
  • 1
    Ну, быстрее ... внутренний длинный S.M.A.R.T. тест завершится через пару минут - после работы в течение четырех часов. Будет использовать 4096 байт в качестве размера блока и экспериментировать с параметром -c. – htorque 1 September 2011 в 00:05
  • 2
    В конце концов S.M.A.R.T. испытание заняло шесть часов. Затем я тестировал разные значения для количества блоков для параллельной проверки, и они, похоже, не влияли на время вообще. Поэтому я думаю, что это нормально, только отрегулируйте размер блока. – htorque 1 September 2011 в 12:09

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 25 July 2018 в 21:23

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 31 July 2018 в 12:22

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 2 August 2018 в 03:02

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 4 August 2018 в 18:53

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 6 August 2018 в 03:15

Поскольку ваш накопитель имеет размер физического сектора 4096 байт, вы хотите использовать -b 4096. Я не думаю, что аргумент -c имеет большое значение, поэтому просто оставьте его в покое.

Кроме того, внутренний SMART-тест диска лучше и быстрее, чем badblocks, поэтому с помощью smartmontools или дисковой утилиты для запуска это вместо это лучшая идея.

3
ответ дан 7 August 2018 в 20:56

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash

blocks=4194304      # 2^22, must be dividable by 2^8 (max i) = 256
block_size=512

result=""
for i in {1..8}
do
  block_count=1

  for j in {1..18}
  do
    echo -n "Benchmark with block count: $block_count, block size: $block_size: "
    execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
    status=$?
    if [ $status -eq 0 ]; then
      result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
      echo "$execution_time"
    fi

    block_count=$(( $block_count * 2 ))
  done

  block_size=$(( $block_size * 2 ))
  blocks=$(( $blocks / 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash

blocks=4194304      # 2^22, you can use any 2^x number 
block_size=4096

result=""
block_count=1

for j in {1..18}
do
  echo -n "Benchmark with block count: $block_count, block size: $block_size: "
  execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
  status=$?
  if [ $status -eq 0 ]; then
    result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
    echo "$execution_time"
  fi

  block_count=$(( $block_count * 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512
0:28.50s: badblocks -b 4096 -c 1024
0:28.50s: badblocks -b 512 -c 1024
0:28.50s: badblocks -b 65536 -c 8
0:28.51s: badblocks -b 2048 -c 1024
0:28.51s: badblocks -b 32768 -c 16
0:28.51s: badblocks -b 65536 -c 128
0:28.51s: badblocks -b 65536 -c 64
0:28.52s: badblocks -b 32768 -c 128
0:28.52s: badblocks -b 65536 -c 4
0:28.52s: badblocks -b 8192 -c 64
0:28.53s: badblocks -b 16384 -c 512
0:28.53s: badblocks -b 16384 -c 8
0:28.53s: badblocks -b 32768 -c 32
0:28.53s: badblocks -b 32768 -c 4
0:28.53s: badblocks -b 32768 -c 64
0:28.53s: badblocks -b 65536 -c 16
0:28.53s: badblocks -b 8192 -c 512
0:28.54s: badblocks -b 4096 -c 256
0:28.54s: badblocks -b 4096 -c 32
0:28.54s: badblocks -b 4096 -c 64
0:28.54s: badblocks -b 8192 -c 128
0:28.55s: badblocks -b 1024 -c 1024
0:28.55s: badblocks -b 1024 -c 256
0:28.55s: badblocks -b 16384 -c 256
0:28.55s: badblocks -b 2048 -c 128
0:28.55s: badblocks -b 2048 -c 64
0:28.55s: badblocks -b 32768 -c 8
0:28.55s: badblocks -b 4096 -c 16
0:28.55s: badblocks -b 512 -c 2048
0:28.55s: badblocks -b 512 -c 256
0:28.55s: badblocks -b 65536 -c 1
0:28.55s: badblocks -b 8192 -c 1024
0:28.55s: badblocks -b 8192 -c 16
0:28.55s: badblocks -b 8192 -c 256
0:28.55s: badblocks -b 8192 -c 32
0:28.56s: badblocks -b 2048 -c 2048
0:28.56s: badblocks -b 512 -c 512
0:28.57s: badblocks -b 1024 -c 64
0:28.57s: badblocks -b 16384 -c 128
0:28.57s: badblocks -b 16384 -c 4
0:28.57s: badblocks -b 16384 -c 64
0:28.57s: badblocks -b 2048 -c 512
0:28.57s: badblocks -b 2048 -c 8192
0:28.57s: badblocks -b 32768 -c 256
0:28.57s: badblocks -b 4096 -c 128
0:28.57s: badblocks -b 4096 -c 2048
0:28.57s: badblocks -b 512 -c 16384
0:28.57s: badblocks -b 65536 -c 32
0:28.57s: badblocks -b 65536 -c 65536
0:28.57s: badblocks -b 8192 -c 8
0:28.58s: badblocks -b 1024 -c 2048
0:28.58s: badblocks -b 1024 -c 4096
0:28.58s: badblocks -b 16384 -c 16
0:28.58s: badblocks -b 2048 -c 4096
0:28.58s: badblocks -b 4096 -c 512
0:28.58s: badblocks -b 65536 -c 131072
0:28.59s: badblocks -b 1024 -c 8192
0:28.59s: badblocks -b 2048 -c 256
0:28.59s: badblocks -b 2048 -c 32
0:28.59s: badblocks -b 32768 -c 2
0:28.60s: badblocks -b 1024 -c 128
0:28.60s: badblocks -b 1024 -c 16384
0:28.60s: badblocks -b 512 -c 4096
0:28.60s: badblocks -b 65536 -c 2
0:28.62s: badblocks -b 16384 -c 32
0:28.62s: badblocks -b 512 -c 128
0:28.62s: badblocks -b 512 -c 32768
0:28.63s: badblocks -b 512 -c 8192
0:28.65s: badblocks -b 4096 -c 4096
0:28.67s: badblocks -b 16384 -c 1024
0:28.79s: badblocks -b 8192 -c 2048
0:28.80s: badblocks -b 8192 -c 4
0:28.81s: badblocks -b 16384 -c 2048
0:28.83s: badblocks -b 32768 -c 512
0:28.86s: badblocks -b 65536 -c 512
0:28.89s: badblocks -b 2048 -c 16384
0:28.98s: badblocks -b 65536 -c 256
0:29.09s: badblocks -b 8192 -c 4096
0:29.10s: badblocks -b 4096 -c 8192
0:29.10s: badblocks -b 512 -c 65536
0:29.15s: badblocks -b 1024 -c 32768
0:29.15s: badblocks -b 32768 -c 1024
0:29.34s: badblocks -b 4096 -c 8
0:29.35s: badblocks -b 1024 -c 32
0:29.40s: badblocks -b 16384 -c 2
0:29.41s: badblocks -b 32768 -c 1
0:29.41s: badblocks -b 512 -c 64
0:29.45s: badblocks -b 32768 -c 131072
0:29.46s: badblocks -b 2048 -c 16
0:30.10s: badblocks -b 2048 -c 32768
0:30.13s: badblocks -b 1024 -c 65536
0:30.14s: badblocks -b 16384 -c 4096
0:30.16s: badblocks -b 4096 -c 16384
0:30.16s: badblocks -b 512 -c 131072
0:30.22s: badblocks -b 8192 -c 8192
0:30.23s: badblocks -b 65536 -c 1024
0:30.26s: badblocks -b 32768 -c 2048
0:30.38s: badblocks -b 1024 -c 131072
0:30.38s: badblocks -b 2048 -c 65536
0:30.49s: badblocks -b 4096 -c 32768
0:30.50s: badblocks -b 65536 -c 2048
0:30.50s: badblocks -b 8192 -c 16384
0:30.53s: badblocks -b 32768 -c 4096
0:30.64s: badblocks -b 16384 -c 8192
0:31.01s: badblocks -b 2048 -c 131072
0:31.13s: badblocks -b 32768 -c 8192
0:31.14s: badblocks -b 65536 -c 4096
0:31.17s: badblocks -b 16384 -c 16384
0:31.17s: badblocks -b 4096 -c 65536
0:31.17s: badblocks -b 8192 -c 32768
0:32.20s: badblocks -b 4096 -c 131072
0:32.20s: badblocks -b 65536 -c 8192
0:32.21s: badblocks -b 8192 -c 65536
0:32.24s: badblocks -b 32768 -c 16384
0:32.25s: badblocks -b 16384 -c 32768
0:34.42s: badblocks -b 8192 -c 131072
0:34.57s: badblocks -b 16384 -c 65536
0:34.61s: badblocks -b 32768 -c 32768
0:34.71s: badblocks -b 65536 -c 16384
0:39.08s: badblocks -b 4096 -c 4
0:39.23s: badblocks -b 1024 -c 16
0:39.39s: badblocks -b 8192 -c 2
0:39.56s: badblocks -b 16384 -c 1
0:39.60s: badblocks -b 2048 -c 8
0:39.69s: badblocks -b 512 -c 32
1:02.34s: badblocks -b 1024 -c 8
1:02.45s: badblocks -b 4096 -c 2
1:02.50s: badblocks -b 512 -c 16
1:02.57s: badblocks -b 2048 -c 4
1:03.64s: badblocks -b 8192 -c 1
1:10.68s: badblocks -b 512 -c 4
1:10.69s: badblocks -b 1024 -c 2
1:11.07s: badblocks -b 2048 -c 1
1:14.60s: badblocks -b 512 -c 2
1:15.02s: badblocks -b 1024 -c 1
1:22.85s: badblocks -b 512 -c 1
1:47.08s: badblocks -b 1024 -c 4
1:47.21s: badblocks -b 4096 -c 1
1:47.49s: badblocks -b 2048 -c 2
1:47.96s: badblocks -b 512 -c 8
3
ответ дан 25 May 2018 в 19:04
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 25 July 2018 в 21:23
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 31 July 2018 в 12:22
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 2 August 2018 в 03:02
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 4 August 2018 в 18:53
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 6 August 2018 в 03:15
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash blocks=4194304 # 2^22, must be dividable by 2^8 (max i) = 256 block_size=512 result="" for i in {1..8} do block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done block_size=$(( $block_size * 2 )) blocks=$(( $blocks / 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнить только с 4k блоками, тогда:

#!/bin/bash blocks=4194304 # 2^22, you can use any 2^x number block_size=4096 result="" block_count=1 for j in {1..18} do echo -n "Benchmark with block count: $block_count, block size: $block_size: " execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks` status=$? if [ $status -eq 0 ]; then result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"` echo "$execution_time" fi block_count=$(( $block_count * 2 )) done echo "Result:" echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументы

0:28.50s: badblocks -b 1024 -c 512 0:28.50s: badblocks -b 4096 -c 1024 0:28.50s: badblocks -b 512 -c 1024 0:28.50s: badblocks -b 65536 -c 8 0:28.51s: badblocks -b 2048 -c 1024 0:28.51s: badblocks -b 32768 -c 16 0:28.51s: badblocks -b 65536 -c 128 0:28.51s: badblocks -b 65536 -c 64 0:28.52s: badblocks -b 32768 -c 128 0:28.52s: badblocks -b 65536 -c 4 0:28.52s: badblocks -b 8192 -c 64 0:28.53s: badblocks -b 16384 -c 512 0:28.53s: badblocks -b 16384 -c 8 0:28.53s: badblocks -b 32768 -c 32 0:28.53s: badblocks -b 32768 -c 4 0:28.53s: badblocks -b 32768 -c 64 0:28.53s: badblocks -b 65536 -c 16 0:28.53s: badblocks -b 8192 -c 512 0:28.54s: badblocks -b 4096 -c 256 0:28.54s: badblocks -b 4096 -c 32 0:28.54s: badblocks -b 4096 -c 64 0:28.54s: badblocks -b 8192 -c 128 0:28.55s: badblocks -b 1024 -c 1024 0:28.55s: badblocks -b 1024 -c 256 0:28.55s: badblocks -b 16384 -c 256 0:28.55s: badblocks -b 2048 -c 128 0:28.55s: badblocks -b 2048 -c 64 0:28.55s: badblocks -b 32768 -c 8 0:28.55s: badblocks -b 4096 -c 16 0:28.55s: badblocks -b 512 -c 2048 0:28.55s: badblocks -b 512 -c 256 0:28.55s: badblocks -b 65536 -c 1 0:28.55s: badblocks -b 8192 -c 1024 0:28.55s: badblocks -b 8192 -c 16 0:28.55s: badblocks -b 8192 -c 256 0:28.55s: badblocks -b 8192 -c 32 0:28.56s: badblocks -b 2048 -c 2048 0:28.56s: badblocks -b 512 -c 512 0:28.57s: badblocks -b 1024 -c 64 0:28.57s: badblocks -b 16384 -c 128 0:28.57s: badblocks -b 16384 -c 4 0:28.57s: badblocks -b 16384 -c 64 0:28.57s: badblocks -b 2048 -c 512 0:28.57s: badblocks -b 2048 -c 8192 0:28.57s: badblocks -b 32768 -c 256 0:28.57s: badblocks -b 4096 -c 128 0:28.57s: badblocks -b 4096 -c 2048 0:28.57s: badblocks -b 512 -c 16384 0:28.57s: badblocks -b 65536 -c 32 0:28.57s: badblocks -b 65536 -c 65536 0:28.57s: badblocks -b 8192 -c 8 0:28.58s: badblocks -b 1024 -c 2048 0:28.58s: badblocks -b 1024 -c 4096 0:28.58s: badblocks -b 16384 -c 16 0:28.58s: badblocks -b 2048 -c 4096 0:28.58s: badblocks -b 4096 -c 512 0:28.58s: badblocks -b 65536 -c 131072 0:28.59s: badblocks -b 1024 -c 8192 0:28.59s: badblocks -b 2048 -c 256 0:28.59s: badblocks -b 2048 -c 32 0:28.59s: badblocks -b 32768 -c 2 0:28.60s: badblocks -b 1024 -c 128 0:28.60s: badblocks -b 1024 -c 16384 0:28.60s: badblocks -b 512 -c 4096 0:28.60s: badblocks -b 65536 -c 2 0:28.62s: badblocks -b 16384 -c 32 0:28.62s: badblocks -b 512 -c 128 0:28.62s: badblocks -b 512 -c 32768 0:28.63s: badblocks -b 512 -c 8192 0:28.65s: badblocks -b 4096 -c 4096 0:28.67s: badblocks -b 16384 -c 1024 0:28.79s: badblocks -b 8192 -c 2048 0:28.80s: badblocks -b 8192 -c 4 0:28.81s: badblocks -b 16384 -c 2048 0:28.83s: badblocks -b 32768 -c 512 0:28.86s: badblocks -b 65536 -c 512 0:28.89s: badblocks -b 2048 -c 16384 0:28.98s: badblocks -b 65536 -c 256 0:29.09s: badblocks -b 8192 -c 4096 0:29.10s: badblocks -b 4096 -c 8192 0:29.10s: badblocks -b 512 -c 65536 0:29.15s: badblocks -b 1024 -c 32768 0:29.15s: badblocks -b 32768 -c 1024 0:29.34s: badblocks -b 4096 -c 8 0:29.35s: badblocks -b 1024 -c 32 0:29.40s: badblocks -b 16384 -c 2 0:29.41s: badblocks -b 32768 -c 1 0:29.41s: badblocks -b 512 -c 64 0:29.45s: badblocks -b 32768 -c 131072 0:29.46s: badblocks -b 2048 -c 16 0:30.10s: badblocks -b 2048 -c 32768 0:30.13s: badblocks -b 1024 -c 65536 0:30.14s: badblocks -b 16384 -c 4096 0:30.16s: badblocks -b 4096 -c 16384 0:30.16s: badblocks -b 512 -c 131072 0:30.22s: badblocks -b 8192 -c 8192 0:30.23s: badblocks -b 65536 -c 1024 0:30.26s: badblocks -b 32768 -c 2048 0:30.38s: badblocks -b 1024 -c 131072 0:30.38s: badblocks -b 2048 -c 65536 0:30.49s: badblocks -b 4096 -c 32768 0:30.50s: badblocks -b 65536 -c 2048 0:30.50s: badblocks -b 8192 -c 16384 0:30.53s: badblocks -b 32768 -c 4096 0:30.64s: badblocks -b 16384 -c 8192 0:31.01s: badblocks -b 2048 -c 131072 0:31.13s: badblocks -b 32768 -c 8192 0:31.14s: badblocks -b 65536 -c 4096 0:31.17s: badblocks -b 16384 -c 16384 0:31.17s: badblocks -b 4096 -c 65536 0:31.17s: badblocks -b 8192 -c 32768 0:32.20s: badblocks -b 4096 -c 131072 0:32.20s: badblocks -b 65536 -c 8192 0:32.21s: badblocks -b 8192 -c 65536 0:32.24s: badblocks -b 32768 -c 16384 0:32.25s: badblocks -b 16384 -c 32768 0:34.42s: badblocks -b 8192 -c 131072 0:34.57s: badblocks -b 16384 -c 65536 0:34.61s: badblocks -b 32768 -c 32768 0:34.71s: badblocks -b 65536 -c 16384 0:39.08s: badblocks -b 4096 -c 4 0:39.23s: badblocks -b 1024 -c 16 0:39.39s: badblocks -b 8192 -c 2 0:39.56s: badblocks -b 16384 -c 1 0:39.60s: badblocks -b 2048 -c 8 0:39.69s: badblocks -b 512 -c 32 1:02.34s: badblocks -b 1024 -c 8 1:02.45s: badblocks -b 4096 -c 2 1:02.50s: badblocks -b 512 -c 16 1:02.57s: badblocks -b 2048 -c 4 1:03.64s: badblocks -b 8192 -c 1 1:10.68s: badblocks -b 512 -c 4 1:10.69s: badblocks -b 1024 -c 2 1:11.07s: badblocks -b 2048 -c 1 1:14.60s: badblocks -b 512 -c 2 1:15.02s: badblocks -b 1024 -c 1 1:22.85s: badblocks -b 512 -c 1 1:47.08s: badblocks -b 1024 -c 4 1:47.21s: badblocks -b 4096 -c 1 1:47.49s: badblocks -b 2048 -c 2 1:47.96s: badblocks -b 512 -c 8
3
ответ дан 7 August 2018 в 20:56
  • 1
    Я думаю, для целевых целей лучше использовать неслучайный шаблон, например -t 0 – mmv-ru 19 April 2018 в 17:02

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash

blocks=4194304      # 2^22, must be dividable by 2^8 (max i) = 256
block_size=512

result=""
for i in {1..8}
do
  block_count=1

  for j in {1..18}
  do
    echo -n "Benchmark with block count: $block_count, block size: $block_size: "
    execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
    status=$?
    if [ $status -eq 0 ]; then
      result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
      echo "$execution_time"
    fi

    block_count=$(( $block_count * 2 ))
  done

  block_size=$(( $block_size * 2 ))
  blocks=$(( $blocks / 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнивать только с 4k блоками, то:

#!/bin/bash

blocks=4194304      # 2^22, you can use any 2^x number 
block_size=4096

result=""
block_count=1

for j in {1..18}
do
  echo -n "Benchmark with block count: $block_count, block size: $block_size: "
  execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
  status=$?
  if [ $status -eq 0 ]; then
    result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
    echo "$execution_time"
  fi

  block_count=$(( $block_count * 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументах

0:28.50s: badblocks -b 1024 -c 512
0:28.50s: badblocks -b 4096 -c 1024
0:28.50s: badblocks -b 512 -c 1024
0:28.50s: badblocks -b 65536 -c 8
0:28.51s: badblocks -b 2048 -c 1024
0:28.51s: badblocks -b 32768 -c 16
0:28.51s: badblocks -b 65536 -c 128
0:28.51s: badblocks -b 65536 -c 64
0:28.52s: badblocks -b 32768 -c 128
0:28.52s: badblocks -b 65536 -c 4
0:28.52s: badblocks -b 8192 -c 64
0:28.53s: badblocks -b 16384 -c 512
0:28.53s: badblocks -b 16384 -c 8
0:28.53s: badblocks -b 32768 -c 32
0:28.53s: badblocks -b 32768 -c 4
0:28.53s: badblocks -b 32768 -c 64
0:28.53s: badblocks -b 65536 -c 16
0:28.53s: badblocks -b 8192 -c 512
0:28.54s: badblocks -b 4096 -c 256
0:28.54s: badblocks -b 4096 -c 32
0:28.54s: badblocks -b 4096 -c 64
0:28.54s: badblocks -b 8192 -c 128
0:28.55s: badblocks -b 1024 -c 1024
0:28.55s: badblocks -b 1024 -c 256
0:28.55s: badblocks -b 16384 -c 256
0:28.55s: badblocks -b 2048 -c 128
0:28.55s: badblocks -b 2048 -c 64
0:28.55s: badblocks -b 32768 -c 8
0:28.55s: badblocks -b 4096 -c 16
0:28.55s: badblocks -b 512 -c 2048
0:28.55s: badblocks -b 512 -c 256
0:28.55s: badblocks -b 65536 -c 1
0:28.55s: badblocks -b 8192 -c 1024
0:28.55s: badblocks -b 8192 -c 16
0:28.55s: badblocks -b 8192 -c 256
0:28.55s: badblocks -b 8192 -c 32
0:28.56s: badblocks -b 2048 -c 2048
0:28.56s: badblocks -b 512 -c 512
0:28.57s: badblocks -b 1024 -c 64
0:28.57s: badblocks -b 16384 -c 128
0:28.57s: badblocks -b 16384 -c 4
0:28.57s: badblocks -b 16384 -c 64
0:28.57s: badblocks -b 2048 -c 512
0:28.57s: badblocks -b 2048 -c 8192
0:28.57s: badblocks -b 32768 -c 256
0:28.57s: badblocks -b 4096 -c 128
0:28.57s: badblocks -b 4096 -c 2048
0:28.57s: badblocks -b 512 -c 16384
0:28.57s: badblocks -b 65536 -c 32
0:28.57s: badblocks -b 65536 -c 65536
0:28.57s: badblocks -b 8192 -c 8
0:28.58s: badblocks -b 1024 -c 2048
0:28.58s: badblocks -b 1024 -c 4096
0:28.58s: badblocks -b 16384 -c 16
0:28.58s: badblocks -b 2048 -c 4096
0:28.58s: badblocks -b 4096 -c 512
0:28.58s: badblocks -b 65536 -c 131072
0:28.59s: badblocks -b 1024 -c 8192
0:28.59s: badblocks -b 2048 -c 256
0:28.59s: badblocks -b 2048 -c 32
0:28.59s: badblocks -b 32768 -c 2
0:28.60s: badblocks -b 1024 -c 128
0:28.60s: badblocks -b 1024 -c 16384
0:28.60s: badblocks -b 512 -c 4096
0:28.60s: badblocks -b 65536 -c 2
0:28.62s: badblocks -b 16384 -c 32
0:28.62s: badblocks -b 512 -c 128
0:28.62s: badblocks -b 512 -c 32768
0:28.63s: badblocks -b 512 -c 8192
0:28.65s: badblocks -b 4096 -c 4096
0:28.67s: badblocks -b 16384 -c 1024
0:28.79s: badblocks -b 8192 -c 2048
0:28.80s: badblocks -b 8192 -c 4
0:28.81s: badblocks -b 16384 -c 2048
0:28.83s: badblocks -b 32768 -c 512
0:28.86s: badblocks -b 65536 -c 512
0:28.89s: badblocks -b 2048 -c 16384
0:28.98s: badblocks -b 65536 -c 256
0:29.09s: badblocks -b 8192 -c 4096
0:29.10s: badblocks -b 4096 -c 8192
0:29.10s: badblocks -b 512 -c 65536
0:29.15s: badblocks -b 1024 -c 32768
0:29.15s: badblocks -b 32768 -c 1024
0:29.34s: badblocks -b 4096 -c 8
0:29.35s: badblocks -b 1024 -c 32
0:29.40s: badblocks -b 16384 -c 2
0:29.41s: badblocks -b 32768 -c 1
0:29.41s: badblocks -b 512 -c 64
0:29.45s: badblocks -b 32768 -c 131072
0:29.46s: badblocks -b 2048 -c 16
0:30.10s: badblocks -b 2048 -c 32768
0:30.13s: badblocks -b 1024 -c 65536
0:30.14s: badblocks -b 16384 -c 4096
0:30.16s: badblocks -b 4096 -c 16384
0:30.16s: badblocks -b 512 -c 131072
0:30.22s: badblocks -b 8192 -c 8192
0:30.23s: badblocks -b 65536 -c 1024
0:30.26s: badblocks -b 32768 -c 2048
0:30.38s: badblocks -b 1024 -c 131072
0:30.38s: badblocks -b 2048 -c 65536
0:30.49s: badblocks -b 4096 -c 32768
0:30.50s: badblocks -b 65536 -c 2048
0:30.50s: badblocks -b 8192 -c 16384
0:30.53s: badblocks -b 32768 -c 4096
0:30.64s: badblocks -b 16384 -c 8192
0:31.01s: badblocks -b 2048 -c 131072
0:31.13s: badblocks -b 32768 -c 8192
0:31.14s: badblocks -b 65536 -c 4096
0:31.17s: badblocks -b 16384 -c 16384
0:31.17s: badblocks -b 4096 -c 65536
0:31.17s: badblocks -b 8192 -c 32768
0:32.20s: badblocks -b 4096 -c 131072
0:32.20s: badblocks -b 65536 -c 8192
0:32.21s: badblocks -b 8192 -c 65536
0:32.24s: badblocks -b 32768 -c 16384
0:32.25s: badblocks -b 16384 -c 32768
0:34.42s: badblocks -b 8192 -c 131072
0:34.57s: badblocks -b 16384 -c 65536
0:34.61s: badblocks -b 32768 -c 32768
0:34.71s: badblocks -b 65536 -c 16384
0:39.08s: badblocks -b 4096 -c 4
0:39.23s: badblocks -b 1024 -c 16
0:39.39s: badblocks -b 8192 -c 2
0:39.56s: badblocks -b 16384 -c 1
0:39.60s: badblocks -b 2048 -c 8
0:39.69s: badblocks -b 512 -c 32
1:02.34s: badblocks -b 1024 -c 8
1:02.45s: badblocks -b 4096 -c 2
1:02.50s: badblocks -b 512 -c 16
1:02.57s: badblocks -b 2048 -c 4
1:03.64s: badblocks -b 8192 -c 1
1:10.68s: badblocks -b 512 -c 4
1:10.69s: badblocks -b 1024 -c 2
1:11.07s: badblocks -b 2048 -c 1
1:14.60s: badblocks -b 512 -c 2
1:15.02s: badblocks -b 1024 -c 1
1:22.85s: badblocks -b 512 -c 1
1:47.08s: badblocks -b 1024 -c 4
1:47.21s: badblocks -b 4096 -c 1
1:47.49s: badblocks -b 2048 -c 2
1:47.96s: badblocks -b 512 -c 8
3
ответ дан 10 August 2018 в 09:19

Я создал тестовый инструмент для тестирования различных настроек.

badblocks_benchmark.sh:

#!/bin/bash

blocks=4194304      # 2^22, must be dividable by 2^8 (max i) = 256
block_size=512

result=""
for i in {1..8}
do
  block_count=1

  for j in {1..18}
  do
    echo -n "Benchmark with block count: $block_count, block size: $block_size: "
    execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
    status=$?
    if [ $status -eq 0 ]; then
      result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
      echo "$execution_time"
    fi

    block_count=$(( $block_count * 2 ))
  done

  block_size=$(( $block_size * 2 ))
  blocks=$(( $blocks / 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

Вы можете использовать его как:

./badblocks_benchmark.sh /dev/sdX

Если вы хотите сравнивать только с 4k блоками, то:

#!/bin/bash

blocks=4194304      # 2^22, you can use any 2^x number 
block_size=4096

result=""
block_count=1

for j in {1..18}
do
  echo -n "Benchmark with block count: $block_count, block size: $block_size: "
  execution_time=`/usr/bin/time 2>&1 -f "%Es" badblocks >/dev/null -w -b $block_size -c $block_count -t random $1 $blocks`
  status=$?
  if [ $status -eq 0 ]; then
    result=`echo -e "$result""\n""$execution_time: badblocks -b $block_size -c $block_count"`
    echo "$execution_time"
  fi

  block_count=$(( $block_count * 2 ))
done

echo "Result:"
echo "$result" | sort --numeric-sort

На основе моих тестов используются только -b 4096 без -c (по умолчанию 64).

Мои результаты (меньше - лучше): Время выполнения в секундах и аргументах

0:28.50s: badblocks -b 1024 -c 512
0:28.50s: badblocks -b 4096 -c 1024
0:28.50s: badblocks -b 512 -c 1024
0:28.50s: badblocks -b 65536 -c 8
0:28.51s: badblocks -b 2048 -c 1024
0:28.51s: badblocks -b 32768 -c 16
0:28.51s: badblocks -b 65536 -c 128
0:28.51s: badblocks -b 65536 -c 64
0:28.52s: badblocks -b 32768 -c 128
0:28.52s: badblocks -b 65536 -c 4
0:28.52s: badblocks -b 8192 -c 64
0:28.53s: badblocks -b 16384 -c 512
0:28.53s: badblocks -b 16384 -c 8
0:28.53s: badblocks -b 32768 -c 32
0:28.53s: badblocks -b 32768 -c 4
0:28.53s: badblocks -b 32768 -c 64
0:28.53s: badblocks -b 65536 -c 16
0:28.53s: badblocks -b 8192 -c 512
0:28.54s: badblocks -b 4096 -c 256
0:28.54s: badblocks -b 4096 -c 32
0:28.54s: badblocks -b 4096 -c 64
0:28.54s: badblocks -b 8192 -c 128
0:28.55s: badblocks -b 1024 -c 1024
0:28.55s: badblocks -b 1024 -c 256
0:28.55s: badblocks -b 16384 -c 256
0:28.55s: badblocks -b 2048 -c 128
0:28.55s: badblocks -b 2048 -c 64
0:28.55s: badblocks -b 32768 -c 8
0:28.55s: badblocks -b 4096 -c 16
0:28.55s: badblocks -b 512 -c 2048
0:28.55s: badblocks -b 512 -c 256
0:28.55s: badblocks -b 65536 -c 1
0:28.55s: badblocks -b 8192 -c 1024
0:28.55s: badblocks -b 8192 -c 16
0:28.55s: badblocks -b 8192 -c 256
0:28.55s: badblocks -b 8192 -c 32
0:28.56s: badblocks -b 2048 -c 2048
0:28.56s: badblocks -b 512 -c 512
0:28.57s: badblocks -b 1024 -c 64
0:28.57s: badblocks -b 16384 -c 128
0:28.57s: badblocks -b 16384 -c 4
0:28.57s: badblocks -b 16384 -c 64
0:28.57s: badblocks -b 2048 -c 512
0:28.57s: badblocks -b 2048 -c 8192
0:28.57s: badblocks -b 32768 -c 256
0:28.57s: badblocks -b 4096 -c 128
0:28.57s: badblocks -b 4096 -c 2048
0:28.57s: badblocks -b 512 -c 16384
0:28.57s: badblocks -b 65536 -c 32
0:28.57s: badblocks -b 65536 -c 65536
0:28.57s: badblocks -b 8192 -c 8
0:28.58s: badblocks -b 1024 -c 2048
0:28.58s: badblocks -b 1024 -c 4096
0:28.58s: badblocks -b 16384 -c 16
0:28.58s: badblocks -b 2048 -c 4096
0:28.58s: badblocks -b 4096 -c 512
0:28.58s: badblocks -b 65536 -c 131072
0:28.59s: badblocks -b 1024 -c 8192
0:28.59s: badblocks -b 2048 -c 256
0:28.59s: badblocks -b 2048 -c 32
0:28.59s: badblocks -b 32768 -c 2
0:28.60s: badblocks -b 1024 -c 128
0:28.60s: badblocks -b 1024 -c 16384
0:28.60s: badblocks -b 512 -c 4096
0:28.60s: badblocks -b 65536 -c 2
0:28.62s: badblocks -b 16384 -c 32
0:28.62s: badblocks -b 512 -c 128
0:28.62s: badblocks -b 512 -c 32768
0:28.63s: badblocks -b 512 -c 8192
0:28.65s: badblocks -b 4096 -c 4096
0:28.67s: badblocks -b 16384 -c 1024
0:28.79s: badblocks -b 8192 -c 2048
0:28.80s: badblocks -b 8192 -c 4
0:28.81s: badblocks -b 16384 -c 2048
0:28.83s: badblocks -b 32768 -c 512
0:28.86s: badblocks -b 65536 -c 512
0:28.89s: badblocks -b 2048 -c 16384
0:28.98s: badblocks -b 65536 -c 256
0:29.09s: badblocks -b 8192 -c 4096
0:29.10s: badblocks -b 4096 -c 8192
0:29.10s: badblocks -b 512 -c 65536
0:29.15s: badblocks -b 1024 -c 32768
0:29.15s: badblocks -b 32768 -c 1024
0:29.34s: badblocks -b 4096 -c 8
0:29.35s: badblocks -b 1024 -c 32
0:29.40s: badblocks -b 16384 -c 2
0:29.41s: badblocks -b 32768 -c 1
0:29.41s: badblocks -b 512 -c 64
0:29.45s: badblocks -b 32768 -c 131072
0:29.46s: badblocks -b 2048 -c 16
0:30.10s: badblocks -b 2048 -c 32768
0:30.13s: badblocks -b 1024 -c 65536
0:30.14s: badblocks -b 16384 -c 4096
0:30.16s: badblocks -b 4096 -c 16384
0:30.16s: badblocks -b 512 -c 131072
0:30.22s: badblocks -b 8192 -c 8192
0:30.23s: badblocks -b 65536 -c 1024
0:30.26s: badblocks -b 32768 -c 2048
0:30.38s: badblocks -b 1024 -c 131072
0:30.38s: badblocks -b 2048 -c 65536
0:30.49s: badblocks -b 4096 -c 32768
0:30.50s: badblocks -b 65536 -c 2048
0:30.50s: badblocks -b 8192 -c 16384
0:30.53s: badblocks -b 32768 -c 4096
0:30.64s: badblocks -b 16384 -c 8192
0:31.01s: badblocks -b 2048 -c 131072
0:31.13s: badblocks -b 32768 -c 8192
0:31.14s: badblocks -b 65536 -c 4096
0:31.17s: badblocks -b 16384 -c 16384
0:31.17s: badblocks -b 4096 -c 65536
0:31.17s: badblocks -b 8192 -c 32768
0:32.20s: badblocks -b 4096 -c 131072
0:32.20s: badblocks -b 65536 -c 8192
0:32.21s: badblocks -b 8192 -c 65536
0:32.24s: badblocks -b 32768 -c 16384
0:32.25s: badblocks -b 16384 -c 32768
0:34.42s: badblocks -b 8192 -c 131072
0:34.57s: badblocks -b 16384 -c 65536
0:34.61s: badblocks -b 32768 -c 32768
0:34.71s: badblocks -b 65536 -c 16384
0:39.08s: badblocks -b 4096 -c 4
0:39.23s: badblocks -b 1024 -c 16
0:39.39s: badblocks -b 8192 -c 2
0:39.56s: badblocks -b 16384 -c 1
0:39.60s: badblocks -b 2048 -c 8
0:39.69s: badblocks -b 512 -c 32
1:02.34s: badblocks -b 1024 -c 8
1:02.45s: badblocks -b 4096 -c 2
1:02.50s: badblocks -b 512 -c 16
1:02.57s: badblocks -b 2048 -c 4
1:03.64s: badblocks -b 8192 -c 1
1:10.68s: badblocks -b 512 -c 4
1:10.69s: badblocks -b 1024 -c 2
1:11.07s: badblocks -b 2048 -c 1
1:14.60s: badblocks -b 512 -c 2
1:15.02s: badblocks -b 1024 -c 1
1:22.85s: badblocks -b 512 -c 1
1:47.08s: badblocks -b 1024 -c 4
1:47.21s: badblocks -b 4096 -c 1
1:47.49s: badblocks -b 2048 -c 2
1:47.96s: badblocks -b 512 -c 8
3
ответ дан 13 August 2018 в 12:42

Другие вопросы по тегам:

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