hardware:raspberry_pi:sdcard_overclock

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
hardware:raspberry_pi:sdcard_overclock [2022/06/01 05:53] – [オーバークロック 100 MHz は時代遅れ😱 125 MHz 安定常用可能な時代へ😍] ともやんhardware:raspberry_pi:sdcard_overclock [2022/10/10 08:27] (現在) – [ベンチ結果まとめ] ともやん
行 1: 行 1:
-====== Raspberry Pi で SD カードをオーバークロック🔥💥する方法🤤 ======+====== Raspberry Pi で SD カードを 125 MHz にオーバークロック🔥💥する方法🤤 ======
  
-===== バークロック 100 MHz 時代遅😱 125 MHz 安定常用可能な時代へ!!😍 =====+===== SD カドの転送速度は Raspberry Pi でも PC の半分ほどまでは引き上げらる🤔 安定常用可能なチューニングは 125 MHz の時代へ!!😍 =====
 <html> <html>
   <style>   <style>
行 17: 行 17:
   </style>   </style>
 </html> </html>
 +**KIOXIA EXCERIA 128GB/256GB microSDXC Class10 UHS-I U1 (read 100MB/s)**\\
 +{{:hardware:sdcard_bench_kioxia_exceria_128gb_microsdxc_class10_uhs-i_u1_001.jpg?100|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1}}
 +{{:hardware:sdcard_bench_kioxia_exceria_256gb_microsdxc_class10_uhs-i_u1_001.jpg?100|KIOXIA EXCERIA 256GB microSDXC Class10 UHS-I U1}}\\
 <WRAP group 100% mintbl> <WRAP group 100% mintbl>
- 
 <WRAP left> <WRAP left>
-^  [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_128gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1 (read 100MB/s)]]  ^^^^^^^^^^ +^  [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_128gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1 (read 100MB/s)]] <wrap em>   </wrap>\\ [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_256gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 256GB microSDXC Class10 UHS-I U1 (read 100MB/s)]] <wrap em>New!</wrap>  ^^^^^^^^^^ 
-^ CrystalDiskMark  ^^^^^^^^^^ +Windows CrystalDiskMark  ^^^^^^^^^^ 
-^ SEQ1M Q8T1 ^ Read | 98.311 MB/s ^ Write | 32.031 MB/s ^ SEQ1M Q1T1 ^ Read | 97.013 MB/s ^ Write | 29.957 MB/s |+ SEQ1M Q8T1 ^ Read | 98.311 MB/s ^ Write | 32.031 MB/s ^ SEQ1M Q1T1 ^ Read | 97.013 MB/s ^ Write | 29.957 MB/s |
 ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^ ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^
 ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^ ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^
行 39: 行 41:
  
 以下の環境でオーバークロックして検証する。\\ 以下の環境でオーバークロックして検証する。\\
-OS: DietPi v7.4.2\\+OS: DietPi v7.4.2, v8.7.1\\
 Device model: RPi Zero W (armv6l)\\ Device model: RPi Zero W (armv6l)\\
-Kernel: Linux DietPi-002 5.10.52+ #1441 Tue Aug 3 18:08:18 BST 2021 armv6l GNU/Linux\\ +Kernel: Linux DietPi-001 5.10.52+ #1441 Tue Aug 3 18:08:18 BST 2021 armv6l GNU/Linux\\ 
- +    Linux DietPi-001 5.15.32+ #1538 Thu Mar 31 19:37:58 BST 2022 armv6l GNU/Linux\\ 
-[[hardware:sd_memory_card|SD メモリーカード]] 参照😉\\+<wrap em>CrystalDiskMark でのベンチマーク結果は [[hardware:sd_memory_card|SD メモリーカード]] 参照😉</wrap>\\
  
 ===== 元にした海外の文献を整理 ===== ===== 元にした海外の文献を整理 =====
行 84: 行 86:
   </style>   </style>
 </html> </html>
-<WRAP group 100% mintbl>+<WRAP group mintbl>
  
 <WRAP left> <WRAP left>
-^  [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_128gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1 (read 100MB/s)]]  ^^^^^^^^^^ +^  [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_256gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 256GB microSDXC Class10 UHS-I U1 (read 100MB/s)]]\\ [[hardware:raspberry_pi:sdcard_overclock:kioxia_exceria_128gb_microsdxc_class10_uhs-i_u1|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1 (read 100MB/s)]]  ^^^^^^^^^^ 
-^ CrystalDiskMark  ^^^^^^^^^^ +Windows CrystalDiskMark  ^^^^^^^^^^ 
-^ SEQ1M Q8T1 ^ Read | 98.311 MB/s ^ Write | 32.031 MB/s ^ SEQ1M Q1T1 ^ Read | 97.013 MB/s ^ Write | 29.957 MB/s |+ SEQ1M Q8T1 ^ Read | 98.311 MB/s ^ Write | 32.031 MB/s ^ SEQ1M Q1T1 ^ Read | 97.013 MB/s ^ Write | 29.957 MB/s |
 ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^ ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^
 ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^ ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^
行 103: 行 105:
 <WRAP left> <WRAP left>
 ^  [[hardware:raspberry_pi:sdcard_overclock:sandisk_128gb_microsdxc_class10_uhs-i_u1_a1|SanDisk 128GB microSDXC Class10 UHS-I U1 A1 (read 120MB/s)]]  ^^^^^^^^^^ ^  [[hardware:raspberry_pi:sdcard_overclock:sandisk_128gb_microsdxc_class10_uhs-i_u1_a1|SanDisk 128GB microSDXC Class10 UHS-I U1 A1 (read 120MB/s)]]  ^^^^^^^^^^
-^ CrystalDiskMark  ^^^^^^^^^^ +Windows CrystalDiskMark  ^^^^^^^^^^ 
-^ SEQ1M Q8T1 ^ Read | 125.470 MB/s ^ Write | 36.448 MB/s ^ SEQ1M Q1T1 ^ Read | 124.919 MB/s ^ Write | 36.075 MB/s |+ SEQ1M Q8T1 ^ Read | 125.470 MB/s ^ Write | 36.448 MB/s ^ SEQ1M Q1T1 ^ Read | 124.919 MB/s ^ Write | 36.075 MB/s |
 ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^ ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^
 ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^ ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^
行 118: 行 120:
 <WRAP left> <WRAP left>
 ^  [[:hardware:raspberry_pi:sdcard_overclock:toshiba_exceria_32gb_microsdhc_class10_uhs-i_u3|TOSHIBA EXCERIA 32GB MicroSDHC Class10 UHS-I U3]]  ^^^^^^^^^^ ^  [[:hardware:raspberry_pi:sdcard_overclock:toshiba_exceria_32gb_microsdhc_class10_uhs-i_u3|TOSHIBA EXCERIA 32GB MicroSDHC Class10 UHS-I U3]]  ^^^^^^^^^^
-^ CrystalDiskMark  ^^^^^^^^^^ +Windows CrystalDiskMark  ^^^^^^^^^^ 
-^ SEQ1M Q8T1 ^ Read | 97.552 MB/s ^ Write | 57.942 MB/s ^ SEQ1M Q1T1 ^ Read | 95.505 MB/s ^ Write | 59.038 MB/s |+ SEQ1M Q8T1 ^ Read | 97.552 MB/s ^ Write | 57.942 MB/s ^ SEQ1M Q1T1 ^ Read | 95.505 MB/s ^ Write | 59.038 MB/s |
 ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^ ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^
 ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^ ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^
行 135: 行 137:
 <WRAP left> <WRAP left>
 ^  [[:hardware:raspberry_pi:sdcard_overclock:teamgroup_128gb_microsdxc_class10_uhs-i_u3_v30_a1|TeamGroup 128GB MicroSDXC Class10 UHS-I U3 V30 A1]]  ^^^^^^^^^^ ^  [[:hardware:raspberry_pi:sdcard_overclock:teamgroup_128gb_microsdxc_class10_uhs-i_u3_v30_a1|TeamGroup 128GB MicroSDXC Class10 UHS-I U3 V30 A1]]  ^^^^^^^^^^
-^ CrystalDiskMark  ^^^^^^^^^^ +Windows CrystalDiskMark  ^^^^^^^^^^ 
-^ SEQ1M Q8T1 ^ Read | 98.512 MB/s ^ Write | 55.455 MB/s ^ SEQ1M Q1T1 ^ Read | 96.388 MB/s ^ Write | 52.610 MB/s |+ SEQ1M Q8T1 ^ Read | 98.512 MB/s ^ Write | 55.455 MB/s ^ SEQ1M Q1T1 ^ Read | 96.388 MB/s ^ Write | 52.610 MB/s |
 ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^ ^ Raspberry Pi Benchmarks (AVG)  ^^^^^^^^^^
 ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^ ^  core_freq  ^  turbo  ^  sd clock  ^^  WRITE(dd)  ^^  READ(dd)  ^^  HDPARM  ^^
行 157: 行 159:
 <code bash> <code bash>
 #!/bin/bash #!/bin/bash
 +
 +APPLICATION_NAME="SD Bench"
 +APPLICATION_VERSION="0.0.1"
  
 LANG=C LANG=C
 LC_ALL= LC_ALL=
-DATAMB=${1:-512}+DATAMB=512
 FILENM=~/test.dat FILENM=~/test.dat
 +
 [ -f /flash/config.txt ] && CONFIG=/flash/config.txt || CONFIG=/boot/config.txt [ -f /flash/config.txt ] && CONFIG=/flash/config.txt || CONFIG=/boot/config.txt
  
行 173: 行 179:
 #grep OpenELEC /etc/os-release >/dev/null && DDTIME=5 || DDTIME=6 #grep OpenELEC /etc/os-release >/dev/null && DDTIME=5 || DDTIME=6
 DDTIME=8 DDTIME=8
 +
 +str_repeat() {
 +    str=$1
 +    count=$2
 +
 +    echo "`printf %${count}s | sed "s/ /${str}/g"`"
 +}
  
 getperfmbs() getperfmbs()
行 221: 行 234:
   core_max="$(vcgencmd get_config int | grep core_freq | awk -F= '{print $2}')"   core_max="$(vcgencmd get_config int | grep core_freq | awk -F= '{print $2}')"
   turbo="$(vcgencmd get_config int | grep force_turbo | awk -F= '{print $2}')"   turbo="$(vcgencmd get_config int | grep force_turbo | awk -F= '{print $2}')"
-  [ -n "${turbo}"    ] || turbo=0 +  [ -n "${turbo}" ] || turbo=0 
-  [ ${turbo} -eq 0 ]   && turbo="$(cat /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy)"+  [ ${turbo} -eq 0 ] && turbo="$(cat /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy)"
   [ -n "${core_max}" ] || core_max="${core_now}"   [ -n "${core_max}" ] || core_max="${core_now}"
 } }
  
-gethwinfo +version() 
-echo +
-echo "CONFIG: $(IFS=","; echo "${conf[*]}")" +  printf "$APPLICATION_NAME Ver $APPLICATION_VERSION
-echo "CLOCK : SD Bus: ${clock_sdbus}, CPU: ${clock_arm}, CPU Temp: ${soc_temp}, SDRAM: ${clock_sdram} MHz" +}
-echo "VOLTS : core: ${volt_core}, sdram(controller, I/O, physical): ${volt_sdram_c}, ${volt_sdram_i}, ${volt_sdram_p}+
-echo "CORE  : ${core_maxMHz(${core_now} MHz), turbo=${turbo}" +
-echo "DATA  : ${DATAMB} MB, ${FILENM}" +
-echo+
  
-echo "HDPARM:" +main() 
-echo "======" +
-HD1="$(getperfmbs "${HDCMD}" 5 8 MB)+  command_name="sdbench
-HD2="$(getperfmbs "${HDCMD}5 8 MB)" +  command="$1" 
-HD3="$(getperfmbs "${HDCMD}5 8 MB)" +   
-HDA="$(getavgmbs "${HD1}" "${HD2}"${HD3}")"+  case "$commandin 
 +    "-h" | "--help"
 +      echo $(version) 
 +      printf "%6s %-50s\n" "Usage:" "$command_name [-h|--help]" 
 +      printf "%6s %-50s\n" "" "$command_name [-i|--info]" 
 +      printf "%6s %-50s\n" "" "$command_name [data size (MB)]
 +      echo 
 +      exit 0 
 +      ;; 
 +    "-i" | "--info"
 +      INFO_ONRY=
 +      ;; 
 +    * ) 
 +      if [[ "$command=~ ^[0-9]+]]; then 
 +        INFO_ONRY="" 
 +        DATAMB=${1:-512} 
 +      elif [ -n "$command]; then 
 +        echo "Invaled option: '$1'" 
 +        exit -1 
 +      fi 
 +      ;; 
 +  esac
  
-echo +  gethwinfo 
-echo "WRITE:" +  echo 
-echo "=====" +  printf "$(str_repeat "=" 10) $(version) $(str_repeat "=" 10)\n
-WR1="$(getperfmbs "${WRCMD}${DDTIMEB)" +  bak_ifs=$IFS 
-WR2="$(getperfmbs "${WRCMD}" 1 ${DDTIMEB)+  echo "CONFIG: $(IFS=", "; echo "${conf[*]}")" 
-WR3="$(getperfmbs "${WRCMD}" 1 ${DDTIMEB)+  IFS=$bak_ifs 
-WRA="$(getavgmbs "${WR1}" "${WR2}" "${WR3}")"+  echo "CLOCK : SD Bus: ${clock_sdbus}, CPU: ${clock_arm}, CPU Temp: ${soc_temp}, SDRAM: ${clock_sdram} MHz
 +  echo "VOLTS : core: ${volt_core}, sdram(controller, I/O, physical): ${volt_sdram_c}${volt_sdram_i}, ${volt_sdram_p}" 
 +  echo "CORE  : ${core_max} MHz(${core_nowMHz), turbo=${turbo}" 
 +  echo "DATA  : ${DATAMB} MB, ${FILENM}" 
 +  echo
  
-echo +  if [ -n "$INFO_ONRY]; then 
-echo "READ:" +    exit 0 
-echo "====" +  fi
-RD1="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)+
-RD2="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)" +
-RD3="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)" +
-RDA="$(getavgmbs "${RD1}" "${RD2}" "${RD3}")"+
  
-gethwinfo +  echo "HDPARM:" 
-echo +  echo $(str_repeat "=" 6) 
-echo "RESULT (AVG):" +  HD1="$(getperfmbs "${HDCMD}" 5 8 MB)
-echo "============" +  HD2="$(getperfmbs "${HDCMD}" 5 8 MB)" 
-printf "%9s %7s %12s %11s %11s %13s\n" "core_freq" "turbo" "sd clock" "WRITE" "READ" "HDPARM" +  HD3="$(getperfmbs "${HDCMD}" 5 8 MB)" 
-printf "   %d        %d     %11s   %10s   %10s   %10s\n" "${core_max}" "${turbo}" "${clock_sdbus}" "${WRA}" "${RDA}" "${HDA}"+  HDA="$(getavgmbs "${HD1}" "${HD2}" "${HD3}")" 
 + 
 +  echo 
 +  echo "WRITE:" 
 +  echo $(str_repeat "=" 5) 
 +  WR1="$(getperfmbs "${WRCMD}" 1 ${DDTIME} B)" 
 +  WR2="$(getperfmbs "${WRCMD}" 1 ${DDTIME} B)" 
 +  WR3="$(getperfmbs "${WRCMD}" 1 ${DDTIME} B)" 
 +  WRA="$(getavgmbs "${WR1}" "${WR2}" "${WR3}")" 
 + 
 +  echo 
 +  echo "READ:" 
 +  echo $(str_repeat "=" 4) 
 +  RD1="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)" 
 +  RD2="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)" 
 +  RD3="$(getperfmbs "${RDCMD}" 1 ${DDTIME} B)" 
 +  RDA="$(getavgmbs "${RD1}" "${RD2}" "${RD3}")" 
 + 
 +  gethwinfo 
 +  echo 
 +  echo "RESULT (AVG):" 
 +  echo $(str_repeat "=" 12) 
 +  printf "%9s %7s %12s %11s %11s %13s\n" "core_freq" "turbo" "sd clock" "WRITE" "READ" "HDPARM" 
 +  printf "   %d        %d     %11s   %10s   %10s   %10s\n" "${core_max}" "${turbo}" "${clock_sdbus}" "${WRA}" "${RDA}" "${HDA}" 
 + 
 +  echo 
 +  echo "microSD card benchmark complete!" 
 +  echo "CPU Temp: ${soc_temp}" 
 +  echo 
 +}
  
-echo +main "$*"
-echo "microSD card benchmark complete!" +
-echo "CPU Temp: ${soc_temp}" +
-echo+
 </code></WRAP> </code></WRAP>
  
行 1377: 行 1433:
 [[tw>tomoyan596/status/1441445004413571077|あれ❓TermさんのCrystalDiskMarkのデータが無い😭 / Twitter]]\\ [[tw>tomoyan596/status/1441445004413571077|あれ❓TermさんのCrystalDiskMarkのデータが無い😭 / Twitter]]\\
 [[tw>tomoyan596/status/1495573389905645569|“Linuxなら、わずか2200円税込でも快適なマシンがさらに数で勝負出来ちゃう🥰SDカードオーバークロックしますけど😅 / Twitter]]\\ [[tw>tomoyan596/status/1495573389905645569|“Linuxなら、わずか2200円税込でも快適なマシンがさらに数で勝負出来ちゃう🥰SDカードオーバークロックしますけど😅 / Twitter]]\\
 +[[tw>tomoyan596sp/status/1509759405746577412|KIOXIA EXCERIA 128GB microSDXC Class10 UHS-I U1core_freq=565,dtparam=sd_overclock=125SDオーバークロックは125MHz時代へ🥰dmesgで確認するとKernelがエラー吐いている時は強制的に125MHzから調整に入るのでsd_overclock=125以上を指定出来ない模様🤔Kernelの限界❓🤔]]\\
 +[[tw>tomoyan596sp/status/1519948839452819456|そろそろ、Raspberry Pi Zero のSD bus オーバークロック 125MHz乗用1ヶ月🤔何も問題ないのて安定乗用可能マークしておきます😊通常SD busクロックは50MHz🤔PCの1/4倍速です😅125MHzなら倍以上速いです🤤]]\\
  
  • hardware/raspberry_pi/sdcard_overclock.1654030425.txt.gz
  • 最終更新: 2022/06/01 05:53
  • by ともやん