Hardware

如何測試二手電腦的問題?

  • April 6, 2019

我可以在執行 Linux 的二手筆記型電腦或 PC 上使用任何命令來告訴我係統是否有任何問題?如果是這樣,它們是什麼?

例如,電池壽命/狀況、硬碟空間、壞扇區、壞 RAM、匯流排速度、影片/音頻硬體和驅動程序規格、LAN 卡規格等。

讓我們從上到下,本指南不是特定於發行版的(大多數這些命令將在大多數發行版上可用,無論是開箱即用,還是通過軟體包儲存庫),首先您可能想要大致了解硬體規格。為此,您應該執行:

cat /sys/devices/virtual/dmi/id/board_{vendor,name,version} #<- Lists your motherboard details.
lspci -Q #<- Lists all your internal hardware and checks online for missing/updated names.
lspci -v | grep "VGA controller" #<- Displays your currently active graphics card. Very useful on laptops with hybrid/switchable graphics. (Typically this is the integrated card unless you have configured it otherwise)
lspci -v | grep "3D controller" #<- Displays your Nvidia Dedicated GPU. For laptops with hybrid/switchable graphics.
lspci -v | grep "Display controller" #<- Displays your ATI/AMD Dedicated GPU. For laptops with hybrid/switchable graphics.
lsusb #<- Lists all your USB hardware.
lscpu #<- Lists detailed processor info (alternative: cat /proc/cpuinfo )
lshw #<- A combination of lspci and lscpu, also displays total RAM.
fdisk -l #<- Lists your hard drives and partitions (may requires sudo access).
free -h --si #<- Lists your memory information, total is your total, available is your total free memory.
cat /proc/meminfo #<- Much more detailed hardware info on your memory
ip link #<- lists your network devices and their status
cat /proc/kmsg | grep Error #<-Lists errors detected by the kernel (often hardware related ones), probably requires sudo access.

接下來,我們將進行硬碟診斷,fsck 在大多數 linux 發行版的啟動時執行(它非常標準,它在 Linux mint 上執行)來檢查和修復硬碟錯誤和壞扇區,所以你很漂亮很多不需要這樣做。fsck 不能在已安裝的驅動器上執行,因此如果您想進一步診斷您的硬碟驅動器,您將不得不從系統啟動並使用 3rd 方實用程序,例如係統救援 cd(或其他 live cd/usb)或終極啟動光碟。另外smartmontools的 smartctl 可用於執行 SMART 測試,如 fsck,更深入的測試無法在目前安裝的驅動器上執行(但許多驅動器確實支持在離線時自動執行這些測試)。無論如何,可以從正在執行的系統中完成更多的事情。hdparm可用於分析和調整硬碟驅動器。

dd if=/dev/zero of=$HOME/testfile bs=1G count=1 conv=fdatasync oflag=direct #<- Measures throughput of your hard drive (whichever one has your home folder on it).
hdparm -Tt /dev/sdx #<- Gives read speed information on hard drive sdx. I won't cover this in more detail, but you can look for guides on it.
smartctl -Hic /dev/sdx #<- Gives basic info of hard drive sdx and runs an overall health assesment. (If the assessment fails either the drive has failed or is in the process of failing) it then lists the drives SMART capabilities.
smartctl -t short /dev/sdx #<- Runs a short SMART test (cannot be run on a mounted drive (some drives support offline data collection and can automatically run the test on shutdown))

要使用fio進行更徹底的 hdd 基準測試,使用與 windows 使用者可能熟悉的 Crystaldiskmark 類似的格式,請參閱此答案

在記憶體測試中,要進行完整的記憶體測試,您很可能需要啟動記憶體測試實用程序(例如memtest86+,通常嵌入在 livecds 中,您也可以安裝它並更新 grub 以顯示它),但是從內部一個執行的linux環境,可以使用memtester

memtester 1024 5 #<- Sets aside 1GB(1024MB) free memory, and runs tests on it 5 times, then displays results.

正確診斷 LAN 設備性能的最佳方法,而無需簡單地測試它可以多快(和多快)向/從另一台設備發送或接收數據。但是要做到這一點,您可以將iperf或 netcat ( nc ) 與dd(我們之前用於測試硬碟驅動器)結合使用。請注意,您實際上可以通過在您的電腦上託管伺服器,然後使用地址localhost127.0.0.1連接到您自己來測試您的網卡從自身到自身。

iperf -s #<- Starts iperf server (run this on the device you want to connect to, yes, as I said you need another computer for this)
iperf -c <address of server computer> #<- Connects and displays transfer rate information.
nc -vvlnp 12345 >/dev/null #<- Starts a netcat server (requires open firewall port for port 12345 if you have a strict firewall)
dd if=/dev/zero bs=1M count=1K | nc -vvn <server IP address> 12345

對於電池測試,有兩種選擇。gnome-battery-bench(圖形)或acpi(終端)或upower(終端)這些是範例命令:

acpi -ib #<- Lists battery status, basic specs and gives an idea of it's health (shows it's charge level last time it was "full")
upower -i /org/freedesktop/UPower/devices/battery_BAT0 #<- Should provide detailed battery information.

用於聲音測試。好吧,我不知道您為什麼要這樣做,如果聲音有效,則有效,如果無效,則無效,但是無論如何都可以使用 ALSA 執行此操作(這樣它就可以在所有發行版上使用)。為此,您需要alsa-utils

speaker-test -c 6 -t wav #<- Runs test sound on 6 speaker channels (for 5.1 speaker setup, you can use -c 2 for stereo speakers), just to see what happens.
speaker-test -r 96000 -f S32LE #<- Test stereo wav sound at 32-bit on 96khz frequencies. You can use this to test the maximum supported format and frequency (for example, while you sepcify 32-bit format, it may set to 16-bit format, if it does this then it will say so so read the output)
aplay -l #<- Lists sound output devices.
speaker-test -D hw:0,0 -c 4 -r 48000 -t wav #<- Test on specific hard ware device 0,0 at 4 channels with 48khz rate.
arecord -l #<- Lists recording devices.
arecord -f dat -d 20 -D hw:0,0 test.wav #<- Test specific recording device by outputting to a file in basic DAT quality
aplay -f dat test.wav #<- Play the recorded test file.

任何進一步的測試(CPU 和 GPU 性能)都需要專用的基準測試/壓力測試程序,或者啟動到專門的測試環境。以下是我建議的基準測試實用程序列表,除了已經提到的那些。與圖形基準測試一樣,您要確保禁用垂直同步。

  • glxgears(檯面的一部分;opengl 性能的非常基本的測試)
  • Unigine HeavenUnigine Valley(圖形基準測試程序,用於測試重負載下的 3D 遊戲性能)
  • hardinfo(一個 GUI 實用程序,列出了有關所有系統規格的詳細資訊並具有基準測試功能,非常方便!)
  • sysbench(cpu、記憶體和硬碟等的命令行基準測試工具,指南
  • 壓力(命令行 CPU 和硬碟壓力測試實用程序)

最後但並非最不重要的一點是,不要忘記要徹底徹底地進行測試,您將需要啟動像Ultimate Boot CD這樣的硬體測試引導 CD ,因為有很多事情無法完成(至少不能有效)從正在執行的作業系統。

引用自:https://unix.stackexchange.com/questions/266963