SlideShare a Scribd company logo
x86_64 Hardware Deep dive
6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO
(C) Copyright 1996-2020 SAKURA Internet Inc
x86_64 Hardware Deep dive cheatsheet
2
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-72-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
Setup commands
# apt update
# apt upgrade -y
# apt install -y hwloc hwloc-nox
# tar xzvf ./mlc_v3.7.tgz (Download from Intel.com)
# update-pciids
Usage commands
# lscpu
# lshw
# lstopo
# lspci –tv
# Linux/mlc
SOURCE: SAKURA Internet Research Center (2020/05)
GCC 9.2 Install TIPS
3
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4_...201908111734_all.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4-...201908111734_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-modules-5.3.0-050300rc4-...201908111734_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-image-unsigned-5.3.0-050300rc4-...11734_amd64.deb
# dpkg -i linux-headers-5.3.0-050300rc4_5.3.0-050300rc4.201908111734_all.deb
# dpkg -i linux-headers-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# dpkg -i linux-modules-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# dpkg -i linux-image-unsigned-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb
# sync; sync; sync; reboot
# uname -sr; tail -1 /etc/lsb-release
Linux 5.3.0-050300rc4-generic
DISTRIB_DESCRIPTION="Ubuntu 19.04"
# apt install build-essential libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev numactl -y
# wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz
# tar xzvf ./gcc-9.2.0.tar.gz
# ../configure --prefix=/usr --disable-multilib --with-system-zlib --enable-languages=c,c++,d,fortran,go,objc,obj-c++
# make -j12
# make install
# gcc --version
gcc (GCC) 9.2.0
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe P2P DMA Install TIPS
4
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_all.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-modules-5.2.0-050200rc6...201906222033_amd64.deb
# wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-image-unsigned-5.2.0-050200rc6...22033_amd64.deb
# dpkg -i linux-headers-5.2.0-050200rc6_5.2.0-050200rc6.201906222033_all.deb
# dpkg -i linux-headers-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# dpkg -i linux-modules-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# dpkg -i linux-image-unsigned-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb
# sync; sync; sync; reboot
# apt install -y nvme-cli libbobcat-dev
# git clone http://www.github.com/sbates130272/p2pmem-test
# cd p2pmem-test/
# ./p2pmem-test /dev/nvme0n1 /dev/nvme1n1 /dev/p2pmem0 -s 1 -4k --check
Copy one 4KB chunk from /dev/nvme0n1 to /dev/nvme0n1 via the memory
exposed by /dev/p2pmem0. Perform a check on the data (i.e. write know
data to /dev/nvme0n1 and validate that by reading /dev/nvme1n1 after
the p2pmem based transfer).
https://github.com/sbates130272/donard (DRAFT)
# cd /nvme_donard
# cd /libdonard
# ./waf
# cd /libdonard/build/speed
# dd if=/dev/zero of=/<nvme_drive>/test1.dat bs=1K count=100K
# ./nvme2gpu_read -b 128M -D /<nvme_drive>/test1.dat
# ./nvme2gpu_read -b 128M =/<nvme_drive>/test1.dat
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe 4.0 NVMe SSD(M.2) RAID0 TIPS
5
# lscpu
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 5 3600 6-Core Processor
# apt install nvme-cli fio -y
# update-pciids
# lspci -tv
# lspci -vv
# nvme list
Node Model
------------ ---------------------------
/dev/nvme0n1 GIGABYTE GP-ASM2NE6100TTTD
/dev/nvme1n1 GIGABYTE GP-ASM2NE6100TTTD
:
/dev/nvme3n1 Force MP600
# mdadm --create /dev/md0 --raid-devices=3 --level=0 /dev/nvme[013]n1
# mdadm --detail /dev/md0
Number Major Minor RaidDevice State
0 259 0 0 active sync /dev/nvme0n1
1 259 1 1 active sync /dev/nvme1n1
2 259 5 2 active sync /dev/nvme3n1
# mkfs.ext4 /dev/md0
# mkdir /mnt/gen4
# mount /dev/md0 /mnt/gen4/
# fio --directory=/mnt/gen4/ --bs=4k --rw=read --size=20G --numjobs=16 --group_reporting --name=test
read: IOPS=2553k, BW=9973MiB/s (10.5GB/s) ...
# lsmem
Total online memory: 16G
SOURCE: SAKURA Internet Research Center (2020/05)
PCIe 4.0 NVMe SSD(M.2) SMART-LOG TIPS
6
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-58-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
# nvme list
Node SN Model Format FW Rev
---------------- -------------------- ---------------------------------------- ---------------- --------
/dev/nvme0n1 SN192608967864 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0
/dev/nvme1n1 SN192608967963 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0
/dev/nvme2n1 1924822900012855002D Force MP600 512 B + 0 B EGFM11.0
/dev/nvme3n1 PHBT7160022A032E INTEL MEMPEK1W032GA 512 B + 0 B K3110300
# nvme smart-log /dev/nvme2n1
Smart Log for NVME device:nvme2n1 namespace-id:ffffffff
critical_warning : 0
temperature : 36 C
available_spare : 100%
available_spare_threshold : 5%
percentage_used : 0%
data_units_read : 4,493,212
data_units_written : 1,336,869
host_read_commands : 41,019,727
host_write_commands : 4,432,398
controller_busy_time : 22
power_cycles : 78
power_on_hours : 44
unsafe_shutdowns : 45
media_errors : 0
num_err_log_entries : 98
Warning Temperature Time : 0
SOURCE: SAKURA Internet Research Center (2020/05)
Null block device High Performance I/O TIPS
7
# apt update
# apt upgrade; sync; sync; sync; reboot
# uname -sr; tail -1 /etc/lsb-release
Linux 4.15.0-58-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS"
# lscpu
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 5 3600 6-Core Processor
# rmmod null_blk
# modprobe null_blk nr_devices=8
# fio --bs=4k --size=128G --rw=read --numjobs=8 --runtime=40 --group_reporting=1
--name=nullb0 --filename=/dev/nullb0
--name=nullb1 --filename=/dev/nullb1
--name=nullb2 --filename=/dev/nullb2
--name=nullb3 --filename=/dev/nullb3
--name=nullb4 --filename=/dev/nullb4
--name=nullb5 --filename=/dev/nullb5
--name=nullb6 --filename=/dev/nullb6
--name=nullb7 --filename=/dev/nullb7
:
read: IOPS=7201k, BW=27.5GiB/s (29.5GB/s)(384GiB/13980msec)
# mount -t tmpfs -o size=8g tmpfs /mnt/ram
# fio --bs=4k --size=500m --rw=read --numjobs=8 --runtime=40 --group_reporting=1
--name=tmpfs --directory=/mnt/ram/
:
read: IOPS=6169k, BW=23.5GiB/s (25.3GB/s)(6000MiB/249msec)
SOURCE: SAKURA Internet Research Center (2020/05)

More Related Content

PDF
Tegra 186のu-boot & Linux
DOCX
Cacti安装手册
ODP
Proxy arp
PDF
How to twist a IPv6 over Bluetooth (6lowpan)
PDF
An Easy way to build a server cluster without top of rack switches (MEMO)
PDF
How to ride a 100GbE LAN -MEMO-
PPTX
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
PDF
Explorando Go em Ambiente Embarcado
Tegra 186のu-boot & Linux
Cacti安装手册
Proxy arp
How to twist a IPv6 over Bluetooth (6lowpan)
An Easy way to build a server cluster without top of rack switches (MEMO)
How to ride a 100GbE LAN -MEMO-
High Availability Server Clustering without ILB(Internal Load Balancer) (MEMO)
Explorando Go em Ambiente Embarcado

What's hot (20)

PDF
How to install OpenStack MITAKA --allinone - cheat sheet -
PDF
Vyos clustering ipsec
PPTX
QNAP Portafolio 2015
PPTX
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
PPTX
QNAP Selection Guide 2015
PDF
chainer-trt: ChainerとTensorRTで超高速推論
PDF
My First AMD EPYC 7251 memo
PDF
The latest developments from OVHcloud’s bare metal ranges
PDF
RabbitMQ Server - cheat sheet -
PDF
GCC ARM nRF51 IoT SDK -cheat sheet-
DOC
Juniper防火墙case信息收集表
PDF
UP Board AI Core Configuration memo
PDF
Linux System Troubleshooting
PDF
AMD Ryzen Threadripper in Techday
PDF
A little systemtap
PDF
Control-M 800 - Infrastructure Example
PDF
7nm "Navi" GPU - A GPU Built For Performance
 
PPTX
移植FreeRTOS 之嵌入式軟體研究與開發
PDF
Jailbreaking the 3DS through 7 years of hardening
How to install OpenStack MITAKA --allinone - cheat sheet -
Vyos clustering ipsec
QNAP Portafolio 2015
DrupalCamp Colorado 2014 Building A Scalable Private VMware Based Drupal Cloud
QNAP Selection Guide 2015
chainer-trt: ChainerとTensorRTで超高速推論
My First AMD EPYC 7251 memo
The latest developments from OVHcloud’s bare metal ranges
RabbitMQ Server - cheat sheet -
GCC ARM nRF51 IoT SDK -cheat sheet-
Juniper防火墙case信息收集表
UP Board AI Core Configuration memo
Linux System Troubleshooting
AMD Ryzen Threadripper in Techday
A little systemtap
Control-M 800 - Infrastructure Example
7nm "Navi" GPU - A GPU Built For Performance
 
移植FreeRTOS 之嵌入式軟體研究與開發
Jailbreaking the 3DS through 7 years of hardening
Ad

Similar to x86_64 Hardware Deep dive (20)

PDF
How to Burn Multi-GPUs using CUDA stress test memo
PDF
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
PDF
9 creating cent_os 7_mages_for_dpdk_training
PDF
Network Adapter Deep dive
DOC
Network Docs
PDF
ERP System Implementation Kubernetes Cluster with Sticky Sessions
PDF
Trying and evaluating the new features of GlusterFS 3.5
PPT
Basic Linux kernel
PPTX
Tiny ML for spark Fun Edge
PDF
Dev ops
PPT
Qemu - Raspberry | while42 Singapore #2
DOCX
PDF
Mirroring the root_disk under solaris SVM
PPTX
Raspberry Pi tutorial
PDF
How to burn your GPU with CUDA9.1
PDF
SPDK benchmark memo
PDF
Free radius billing server with practical vpn exmaple
PDF
7 hands on
PDF
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
PDF
C&C Botnet Factory
How to Burn Multi-GPUs using CUDA stress test memo
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
9 creating cent_os 7_mages_for_dpdk_training
Network Adapter Deep dive
Network Docs
ERP System Implementation Kubernetes Cluster with Sticky Sessions
Trying and evaluating the new features of GlusterFS 3.5
Basic Linux kernel
Tiny ML for spark Fun Edge
Dev ops
Qemu - Raspberry | while42 Singapore #2
Mirroring the root_disk under solaris SVM
Raspberry Pi tutorial
How to burn your GPU with CUDA9.1
SPDK benchmark memo
Free radius billing server with practical vpn exmaple
7 hands on
DEF CON 27 - GRICHTER - reverse engineering 4g hotspots for fun bugs net fina...
C&C Botnet Factory
Ad

More from Naoto MATSUMOTO (20)

PDF
Alder Lake-S CPU Temperature Monitoring
PDF
CPU製品出荷状況と消費電力の見える化
PDF
5Gの見える化
PDF
2023年以降のサーバークラスタリング設計(メモ)
PDF
防災を考慮した水中調査の一考察
PDF
旅するパケットの見える化
PDF
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
PDF
災害時における無線モニタリングによる社会インフラの見える化
PDF
BeautifulSoup / selenium Deep dive
PDF
AMDGPU ROCm Deep dive
PDF
RTL2838 DVB-T Deep dive
PDF
ADS-B, AIS, APRS cheatsheet
PDF
curl --http3 cheatsheet
PDF
3/4G USB modem Cheat Sheet
PDF
How To Train Your ARM(SBC)
PDF
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
PDF
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
PDF
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
PDF
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
PDF
インターネットを用いたニア・リアルタイムでの災害観測の考察
Alder Lake-S CPU Temperature Monitoring
CPU製品出荷状況と消費電力の見える化
5Gの見える化
2023年以降のサーバークラスタリング設計(メモ)
防災を考慮した水中調査の一考察
旅するパケットの見える化
LTE-M/NB IoTを試してみる nRF9160/Thingy:91
災害時における無線モニタリングによる社会インフラの見える化
BeautifulSoup / selenium Deep dive
AMDGPU ROCm Deep dive
RTL2838 DVB-T Deep dive
ADS-B, AIS, APRS cheatsheet
curl --http3 cheatsheet
3/4G USB modem Cheat Sheet
How To Train Your ARM(SBC)
全国におけるCOVID-19対策の見える化 ~宿泊業の場合~
我が国の電波の使用状況/携帯電話向け割当 (2019年3月1日現在)
私たちに訪れる(かもしれない)未来と計算機によるモノコトの見える化
仮想化環境におけるバイナリー・ポータビリティの考察 (WebAssemblyの場合)
インターネットを用いたニア・リアルタイムでの災害観測の考察

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Approach and Philosophy of On baking technology
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Unlocking AI with Model Context Protocol (MCP)
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
20250228 LYD VKU AI Blended-Learning.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
The AUB Centre for AI in Media Proposal.docx
Spectroscopy.pptx food analysis technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Approach and Philosophy of On baking technology
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

x86_64 Hardware Deep dive

  • 1. x86_64 Hardware Deep dive 6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO (C) Copyright 1996-2020 SAKURA Internet Inc
  • 2. x86_64 Hardware Deep dive cheatsheet 2 # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-72-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" Setup commands # apt update # apt upgrade -y # apt install -y hwloc hwloc-nox # tar xzvf ./mlc_v3.7.tgz (Download from Intel.com) # update-pciids Usage commands # lscpu # lshw # lstopo # lspci –tv # Linux/mlc SOURCE: SAKURA Internet Research Center (2020/05)
  • 3. GCC 9.2 Install TIPS 3 # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4_...201908111734_all.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-headers-5.3.0-050300rc4-...201908111734_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-modules-5.3.0-050300rc4-...201908111734_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.3-rc4/linux-image-unsigned-5.3.0-050300rc4-...11734_amd64.deb # dpkg -i linux-headers-5.3.0-050300rc4_5.3.0-050300rc4.201908111734_all.deb # dpkg -i linux-headers-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # dpkg -i linux-modules-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # dpkg -i linux-image-unsigned-5.3.0-050300rc4-generic_5.3.0-050300rc4.201908111734_amd64.deb # sync; sync; sync; reboot # uname -sr; tail -1 /etc/lsb-release Linux 5.3.0-050300rc4-generic DISTRIB_DESCRIPTION="Ubuntu 19.04" # apt install build-essential libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev numactl -y # wget http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/gcc-9.2.0.tar.gz # tar xzvf ./gcc-9.2.0.tar.gz # ../configure --prefix=/usr --disable-multilib --with-system-zlib --enable-languages=c,c++,d,fortran,go,objc,obj-c++ # make -j12 # make install # gcc --version gcc (GCC) 9.2.0 SOURCE: SAKURA Internet Research Center (2020/05)
  • 4. PCIe P2P DMA Install TIPS 4 # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_all.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-headers-5.2.0-050200rc6...201906222033_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-modules-5.2.0-050200rc6...201906222033_amd64.deb # wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.2-rc6/linux-image-unsigned-5.2.0-050200rc6...22033_amd64.deb # dpkg -i linux-headers-5.2.0-050200rc6_5.2.0-050200rc6.201906222033_all.deb # dpkg -i linux-headers-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # dpkg -i linux-modules-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # dpkg -i linux-image-unsigned-5.2.0-050200rc6-generic_5.2.0-050200rc6.201906222033_amd64.deb # sync; sync; sync; reboot # apt install -y nvme-cli libbobcat-dev # git clone http://www.github.com/sbates130272/p2pmem-test # cd p2pmem-test/ # ./p2pmem-test /dev/nvme0n1 /dev/nvme1n1 /dev/p2pmem0 -s 1 -4k --check Copy one 4KB chunk from /dev/nvme0n1 to /dev/nvme0n1 via the memory exposed by /dev/p2pmem0. Perform a check on the data (i.e. write know data to /dev/nvme0n1 and validate that by reading /dev/nvme1n1 after the p2pmem based transfer). https://github.com/sbates130272/donard (DRAFT) # cd /nvme_donard # cd /libdonard # ./waf # cd /libdonard/build/speed # dd if=/dev/zero of=/<nvme_drive>/test1.dat bs=1K count=100K # ./nvme2gpu_read -b 128M -D /<nvme_drive>/test1.dat # ./nvme2gpu_read -b 128M =/<nvme_drive>/test1.dat SOURCE: SAKURA Internet Research Center (2020/05)
  • 5. PCIe 4.0 NVMe SSD(M.2) RAID0 TIPS 5 # lscpu Vendor ID: AuthenticAMD Model name: AMD Ryzen 5 3600 6-Core Processor # apt install nvme-cli fio -y # update-pciids # lspci -tv # lspci -vv # nvme list Node Model ------------ --------------------------- /dev/nvme0n1 GIGABYTE GP-ASM2NE6100TTTD /dev/nvme1n1 GIGABYTE GP-ASM2NE6100TTTD : /dev/nvme3n1 Force MP600 # mdadm --create /dev/md0 --raid-devices=3 --level=0 /dev/nvme[013]n1 # mdadm --detail /dev/md0 Number Major Minor RaidDevice State 0 259 0 0 active sync /dev/nvme0n1 1 259 1 1 active sync /dev/nvme1n1 2 259 5 2 active sync /dev/nvme3n1 # mkfs.ext4 /dev/md0 # mkdir /mnt/gen4 # mount /dev/md0 /mnt/gen4/ # fio --directory=/mnt/gen4/ --bs=4k --rw=read --size=20G --numjobs=16 --group_reporting --name=test read: IOPS=2553k, BW=9973MiB/s (10.5GB/s) ... # lsmem Total online memory: 16G SOURCE: SAKURA Internet Research Center (2020/05)
  • 6. PCIe 4.0 NVMe SSD(M.2) SMART-LOG TIPS 6 # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-58-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" # nvme list Node SN Model Format FW Rev ---------------- -------------------- ---------------------------------------- ---------------- -------- /dev/nvme0n1 SN192608967864 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0 /dev/nvme1n1 SN192608967963 GIGABYTE GP-ASM2NE6100TTTD 512 B + 0 B EGFM11.0 /dev/nvme2n1 1924822900012855002D Force MP600 512 B + 0 B EGFM11.0 /dev/nvme3n1 PHBT7160022A032E INTEL MEMPEK1W032GA 512 B + 0 B K3110300 # nvme smart-log /dev/nvme2n1 Smart Log for NVME device:nvme2n1 namespace-id:ffffffff critical_warning : 0 temperature : 36 C available_spare : 100% available_spare_threshold : 5% percentage_used : 0% data_units_read : 4,493,212 data_units_written : 1,336,869 host_read_commands : 41,019,727 host_write_commands : 4,432,398 controller_busy_time : 22 power_cycles : 78 power_on_hours : 44 unsafe_shutdowns : 45 media_errors : 0 num_err_log_entries : 98 Warning Temperature Time : 0 SOURCE: SAKURA Internet Research Center (2020/05)
  • 7. Null block device High Performance I/O TIPS 7 # apt update # apt upgrade; sync; sync; sync; reboot # uname -sr; tail -1 /etc/lsb-release Linux 4.15.0-58-generic DISTRIB_DESCRIPTION="Ubuntu 18.04.3 LTS" # lscpu Vendor ID: AuthenticAMD Model name: AMD Ryzen 5 3600 6-Core Processor # rmmod null_blk # modprobe null_blk nr_devices=8 # fio --bs=4k --size=128G --rw=read --numjobs=8 --runtime=40 --group_reporting=1 --name=nullb0 --filename=/dev/nullb0 --name=nullb1 --filename=/dev/nullb1 --name=nullb2 --filename=/dev/nullb2 --name=nullb3 --filename=/dev/nullb3 --name=nullb4 --filename=/dev/nullb4 --name=nullb5 --filename=/dev/nullb5 --name=nullb6 --filename=/dev/nullb6 --name=nullb7 --filename=/dev/nullb7 : read: IOPS=7201k, BW=27.5GiB/s (29.5GB/s)(384GiB/13980msec) # mount -t tmpfs -o size=8g tmpfs /mnt/ram # fio --bs=4k --size=500m --rw=read --numjobs=8 --runtime=40 --group_reporting=1 --name=tmpfs --directory=/mnt/ram/ : read: IOPS=6169k, BW=23.5GiB/s (25.3GB/s)(6000MiB/249msec) SOURCE: SAKURA Internet Research Center (2020/05)