thomaskaiser / sbc-bench Goto Github PK
View Code? Open in Web Editor NEWSimple benchmark for single board computers
License: BSD 3-Clause "New" or "Revised" License
Simple benchmark for single board computers
License: BSD 3-Clause "New" or "Revised" License
Memory performance (all 2 CPU clusters measured individually):
memcpy: 2846.2 MB/s (Qualcomm Kryo V2)
memset: 13236.3 MB/s (Qualcomm Kryo V2)
memcpy: 9722.5 MB/s (Qualcomm Falkor V1/Kryo)
memset: 14068.2 MB/s (Qualcomm Falkor V1/Kryo)
Cpuminer total scores (5 minutes execution): 12.61,12.58,12.31,12.29,12.27,12.26,12.25,12.24,12.23,12.22,12.20,12.19,12.18,12.17,12.16,12.15,12.14,12.13,12.12,12.11,12.10,12.09,12.00 kH/s
7-zip total scores (3 consecutive runs): 10798,9517,9076, single-threaded: 2474
OpenSSL results (all 2 CPU clusters measured individually):
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes
aes-128-cbc 140890.64k 436009.94k 895233.37k 1251617.11k 1414859.43k 1426860.71k (Qualcomm Kryo V2)
aes-192-cbc 135269.89k 393412.82k 740241.83k 970246.14k 1065869.31k 1071191.38k (Qualcomm Kryo V2)
aes-256-cbc 131737.98k 364308.61k 644709.38k 813548.89k 880197.63k 883326.98k (Qualcomm Kryo V2)
Full results uploaded to http://ix.io/4fdD
In case this device is not already represented in official sbc-bench results list then please
consider submitting it at https://github.com/ThomasKaiser/sbc-bench/issues with this line:
| OnePlus 5 | 2361600/1900800 MHz | 6.1 | Armbian 22.11.0-trunk Jammy arm64 | 9800 | 2474 | 883330 | 9720 | 14070 | 12.58 | http://ix.io/4fdD |
| bigboy | no cpufreq support | 5.16 | Sid arm64 | 102630 | 166930 | 511940 | 4180 | 17120 | - | http://ix.io/3N0h |
https://twitter.com/linux_chenxing/status/1449603003057532930
| Xunlong Orange Pi PC 2 | 1368 MHz | 5.10 | Focal arm64 | 3500 | 114830 | 637410 | 1070 | 3680 | - | http://ix.io/3MQJ |
| Xunlong Orange Pi One | 1008 MHz | 5.10 | Buster armhf | 2270 | 15630 | 19540 | 950 | 2540 | - | http://ix.io/3NoS |
| Xunlong Orange Pi PC Plus | 1368 MHz | 5.10 | Focal armhf | 3060 | 25740 | 26590 | 890 | 3450 | - | http://ix.io/3MQV |
(Continuing from Googulator/linux-rk3588-midstream#3 (comment) )
@n2qcn Thanks for providing the test result over at http://ix.io/4sQP
There are a few things I want to ask though:
powercap-info -p intel-rapl
should tell the limitsSingle-threaded the Gracemont core outperforms an A76 in e.g. RK3588 easily due to 3.4 GHz vs. ~2.4 GHz CPU clock (30% more with stuff like 7-ZIP, similar picture with Geekbench 6 but multi-threaded the N100 is bottlenecked by powercapping. The thermal values suggest that increasing powercap limits isn't enough since then throttling might become an issue.
But I would still love to hear whether with a few tweaks performance can be further improved (with this in mind the obvious move to (LP)DDR5 at 4800 MT/s won't be possible though, right?)
I'm running SBC-Bench 0.9.9 in the latest Raspberry Pi OS on the Pi 4, and I get the following error in ReadSoCTemp due to a missing temporary file:
/home/pi/sbc-bench.sh: line 1378: /tmp/sbc-bench.sh.NPKM2L/soctemp: No such file or directory
/home/pi/sbc-bench.sh: line 1379: [: -ge: unary operator expected
Is there a centralized public dashboard that aggregates user results and displays them in comparison charts, like Phoronix? Your ReadMe examples are great and the raw data posts in these issues are great and the pics folder is nice but the ideal would be a public leaderboard so testers don't have to reinvent the wheel by buying and testing hardware others have tested. Thoughts?
Great project, btw
| Raspberry Pi 4 Model B Rev 1.4 | 2400 MHz | 5.10 | Bullseye arm64/armhf | 7900 | 97440 | 101240 | 2830 | 4470 | - | http://ix.io/3KVs |
| | MHz | 5.13 | Impish arm64 | 16720 | 448270 | 828340 | 2962980 | 8158030 | - | http://ix.io/3FTK |
Ran by PtitSeb yesterday
Refreshing some images and found this:
root@NanoPi-M3:~# ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...
sbc-bench v0.9.36
Installing needed tools: apt -f -qq -y install lm-sensors sysstat dmidecode lshw usbutils mmc-utils stress-ng smartmontools p7zip...No 7-zip binary found and could not be installed. Aborting
root@NanoPi-M3:~# apt install p7zip
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
p7zip-full
The following NEW packages will be installed:
p7zip
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 273 kB of archives.
After this operation, 961 kB of additional disk space will be used.
Get:1 http://ports.ubuntu.com xenial-security/universe arm64 p7zip arm64 9.20.1~dfsg.1-4.2ubuntu0.1 [273 kB]
Fetched 273 kB in 0s (1026 kB/s)
Selecting previously unselected package p7zip.
(Reading database ... 69869 files and directories currently installed.)
Preparing to unpack .../p7zip_9.20.1~dfsg.1-4.2ubuntu0.1_arm64.deb ...
Unpacking p7zip (9.20.1~dfsg.1-4.2ubuntu0.1) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up p7zip (9.20.1~dfsg.1-4.2ubuntu0.1) ...
root@NanoPi-M3:~# ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 11:18:44 up 40 min, 4 users, load average: 0.27, 0.36, 0.70, cpu: 8%
Too busy for benchmarking: 11:18:49 up 41 min, 4 users, load average: 0.25, 0.35, 0.70, cpu: 0%
Too busy for benchmarking: 11:18:54 up 41 min, 4 users, load average: 0.23, 0.35, 0.70, cpu: 0%
Too busy for benchmarking: 11:18:59 up 41 min, 4 users, load average: 0.21, 0.34, 0.69, cpu: 0%
Too busy for benchmarking: 11:19:04 up 41 min, 4 users, load average: 0.20, 0.33, 0.69, cpu: 0%
Too busy for benchmarking: 11:19:09 up 41 min, 4 users, load average: 0.18, 0.33, 0.69, cpu: 0%
sbc-bench v0.9.36
Installing needed tools: apt -f -qq -y install lm-sensors sysstat dmidecode lshw usbutils mmc-utils stress-ng smartmontools, tinymembench, ramlat, mhz, cpuminer..../sbc-bench.sh: line 2888: iostat: command not found Done.
Checking cpufreq OPP. Done.
Executing tinymembench. Done.
and again failed for sysstat which can be easily installed with apt,
the output is not checked so whole command failed because missing mmc-utils package (absent in old xenial), just installed everything else via apt (easily to find error without -qq) and build mmc-utils from sources.
While it's not that hard to figure out this, but:
| Radxa Zero | 1800 MHz | 5.10 | Bullseye arm64 | 4580 | 105170 | 838360 | 1600 | 5360 | 7.13 | http://ix.io/3JCm |
| SBC2D70 (SSD202D) | 1700 MHz | 5.16 | Sid armhf | 1950 | 26240 | 33120 | 770 | 3190 | - | http://ix.io/3MZY |
Does it make sense to support bullseye? If so I'll work on a PR.
Some things to consider:
| Raspberry Pi Model B Rev 2 | 1000 MHz | 6.1 | Raspbian GNU/Linux 11 (bullseye) armv6l/armhf | 480 | 481 | 16900 | 490 | 2220 | - |
http://ix.io/4vVG
N100 with DDR5 http://ix.io/4vxM
NVIDIA Jetson Orin Nano http://ix.io/4vy7
Device / details | Clockspeed | Kernel | Distro | 7-zip multi | 7-zip single | AES | memcpy | memset | kH/s |
---|---|---|---|---|---|---|---|---|---|
Stock MINI S / N100 | 3400 MHz | 6.1 | Ubuntu 22.04.2 LTS x86_64 | 14010 | 4020 | 1224220 | 9900 | 8900 | - |
Loud MINI S / N100 | 3400 MHz | 6.1 | Ubuntu 22.04.2 LTS x86_64 | 14080 | 4025 | 1232700 | 9980 | 8930 | - |
DDR5 EQ / N100 | 3400 MHz | 6.1 | Ubuntu 23.04 x86_64 | 14150 | 4073 | 1232790 | 11600 | 12270 | 36.24 |
NVIDIA Orin Nano | 1510 MHz | 5.10 | Ubuntu 20.04.6 LTS arm64 | 13650 | 2153 | 854400 | 6730 | 20240 | 20.68 |
Checking the section "System health while running 7-zip single core benchmark" in any result (for example: here) shows the load is greater than 1, up to the number of cores in the system, during the single core benchmark. The %cpu correctly matches 100%/[# of cores].
It appears the benchmark is being run on a single core, but somehow the benchmark is multithreaded and loading more than one core.
Is this by design? Could it be compromising the results somewhat?
I have noticed that the Jetson Xavier AGX is not represented in your results.
If you are interested, here are some results running Nvidia Jetpack 4.3
| Jetson-AGX | 2265600 MHz | 4.9 | Ubuntu 18.04.3 LTS arm64 | 21590 | 2742 | 853250 | 10910 | 22520 | 26.57 |
From cnx-software.
First invocation on Rock 5B in lazy mode (phoronix-test-suite benchmark pts/stockfish-1.4.0
) already ended up with the board freezing at the 2nd stockfish
run. Attaching fan to power and repeating again also again freeze during 2nd stockfish bench 128 8 24 default depth
run.
General problem was already known since so far on some boards highest DRAM clock wasn't usable and users needed to switch from 2112 MHz to 1560 MHz for stable operation.
My board hasn't seen any freezes on highest DRAM clock so this was a surprise. By updating my Armbian image to latest version I was hoping for getting most recent boot BLOBs as part of u-boot
package. It now reads ii linux-u-boot-rock-5b-legacy 22.11.0-trunk.0106 arm64 Uboot loader 2017.09
but problems got even worse and now the board freezes on 2112 MHz DRAM clock already at 1st benchmark execution. Maybe @amazingfate can comment on whether my OS image is expected to run on latest BLOBs or not?
With lower DRAM clock everything works as expected but at 2112 MHz DRAM clock the board freezes regardless of the A76's clockspeeds (and as such DVFS/consumption) so it looks solely related to DRAM clock:
A76 clock | DRAM clock | Watts | SoC temp | Nodes per second |
---|---|---|---|---|
2360 MHz | 528 MHz | 8-9W | 40°C | 3238057 |
2360 MHz | 1068 MHz | 9-10W | 43.5°C | 4122771 |
2360 MHz | 1560 MHz | 10-11W | 46°C | 4653285 |
2360 MHz | 2112 MHz | 12W | 46°C | freeze |
1800 MHz | 2112 MHz | 8-9W | 39°C | freeze |
With other CPU benchmarks I haven't seen consumption exceeding 9W on Rock 5B so stockfish
is really a potent load generator / stability tester. On top of making heavy use of SIMD extensions it also is heavy on memory access: walking through the different DRAM clockspeeds ended up with significantly different scores: https://openbenchmarking.org/result/2211099-NE-2211093NE82
Quick check on an AMD EPYC 7232P (8C/16T) thing also hints at stockfish
being more demanding than both cpuminer
and 7-zip
:
First chart is from a NetIO powermeter (measuring at the wall), 2nd is the server's internal BMC showing PSU1 (PSU2 is always in standby on this machine so the whole productive consumption is PSU1's thing), the last two are the BMC measurements for CPU and DRAM separately (though no idea to which number the memory controller contributes):
On RaspberryPi 4B 2GB, on Ubuntu Server LTS 22.04 (64-bit) spc-bench.sh with MODE=extensive reports:
... (can't build cpuminer) Done.
System:
Linux ROS2HH 5.15.0-1016-raspi #18-Ubuntu SMP PREEMPT Wed Sep 28 12:15:55 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
$ cd /usr/local/src/cpuminer-multi
$ sudo ./build.sh
...
crypto/blake2s.c: In function ‘blake2s’:
crypto/blake2s.c:326:9: error: size of array element is not a multiple of its alignment
326 | blake2s_state S[1];
| ^~~~~~~~~~~~~
make[2]: *** [Makefile:1645: crypto/cpuminer-blake2s.o] Error 1
FYI - Jetson Nano with good power on the barrel (5vDC/5A) and stock heatsink...
Stock BSP from nVidia - 18.04 with their secret sauce.
ClockworkPi DevTerm with R01 RISC-V core http://ix.io/40wo
I knocked up a (poor) vcgencmd https://github.com/clach04/rock64_vcgencmd implementation for rock64 with very limited functionality and it is installed in the same location raspberry pi software expects it to be. Because it is incomplete and there are various checks for its presence, sbc-bench runs on rock64 end up with errors, see http://ix.io/2b8U.
Not sure what the best way to deal with this but I noticed the same check is used in many places rather than one check and then setting a value to check. I noticed $CPUs
is set, here https://github.com/ThomasKaiser/sbc-bench/blob/master/sbc-bench.sh#L123 - can that be used through out the script?
I ended up doing a quick hack:
diff sbc-bench.sh hack_sbc-bench.sh
121c121,122
< if [ -f /usr/bin/vcgencmd ]; then
---
> #if [ -f /usr/bin/vcgencmd ]; then
> if [ -f /usr/bin/raspi-config ]; then
482c483,485
< if [ -f /usr/bin/vcgencmd ]; then
---
> # FIXME raspberrypi check here instead
> #if [ -f /usr/bin/vcgencmd ]; then
> if [ -f /usr/bin/raspi-config ]; then
560c563,565
< if [ -f /usr/bin/vcgencmd ]; then
---
> # FIXME raspberrypi check here instead
> #if [ -f /usr/bin/vcgencmd ]; then
> if [ -f /usr/bin/raspi-config ]; then
768c773,775
< if [ -f /usr/bin/vcgencmd ]; then
---
> # FIXME pi check here instead
> #if [ -f /usr/bin/vcgencmd ]; then
> if [ -f /usr/bin/raspi-config ]; then
but I do not recommend this approach - this was a quick-and-dirty change to make it work :-)
| AMD EPYC Processor | no cpufreq support | 5.10 | Bullseye x86_64/amd64 | 8420 | 706250 | 873460 | 23630 | 34120 | - | http://ix.io/3K8L |
All is well in this round of bench.
Feature request: please output the result as a file too (maybe sbc-bench.log or something?). My remote connection (SSH) disconnect every n-minutes. So when left unattended, I cannot get the result from my VPS. Thanks!
http://ix.io/2sOl
Now that it boots reliably with Armbian: results for the Renegade Elite aka ROC-RK3399-PC. Had to use a fan to keep temperatures in check.
There is a newer version of cpuminer adapted to new gcc:
[https://github.com/JayDDee/cpuminer-opt/issues/313]
| AMD EPYC Processor | no cpufreq support | 5.10 | Bullseye x86_64/amd64 | 8390 | 715310 | 874720 | 23820 | 33200 | 43.91 | http://ix.io/3JDa
| ASUS Tinker Board | 1800 MHz | 4.4 | Buster armhf | 5440 | 62410 | 66300 | 1340 | 3510 | - | http://ix.io/3Lir |
/sbc-bench.sh: line 1572: 3 * 221 / 0 : division by 0 (error token is "0 ")
debian@debian:~$ cat /proc/cpuinfo
hart : 0
isa : rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-0p0
mmu : sv39
hart : 1
isa : rv64i2p0m2p0a2p0f2p0d2p0c2p0xv5-0p0
mmu : sv39
debian@debian:~$ uname -a
Linux debian 4.17.0 #1 SMP PREEMPT Wed Jun 22 05:46:18 AEST 2022 riscv64 GNU/Linux
Recommendation - don't change the CPU governors on sbc-bench - can report what's in use, but by changing it, it's hard to tell if exploring this item for a/b testing
echo performance >/sys/devices/system/cpu/cpu${i}/cpufreq/scaling_governor
referring to: "Please also note that with RK35xx SBC so far real measured clockspeeds are somewhat unstable."
There is no obvious implication to 'openssl speed' with implemented benchmarking tools (tinymembench, ramlat, 7zip, cpuminer) on sbc-bench '0.9.8' version on Hardkernel Amlogic hardware 'openssl speed -bytes 16' graph for
sbc-bench.sh
sbc-bench.sh -p
sequence
Something to consider... as this is more of a system level test as it flexs the core and memory, and check the engines available (one could tweak this to check what engines are available and test across I suppose using the openssl envelope option)
$ openvpn --genkey --secret /tmp/secret
$ time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
Fri Sep 21 16:19:38 2018 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
Real 0m19.924s
user 0m19.858s
sys 0m0.062s
$ openssl engine
(dynamic) Dynamic engine loading support
with this example on rk3288-tinker with armbian 5.60 - the effective potential thruput is 3200/usertime in seconds, so in this case, would be 161.14 Mbit/Sec
Found this over on the pfSense forums, but I suspect it's community knowledge and originator is lost to the forgetful web...
| volterra | ~2980 MHz | 5.15 | arm64 | 33600 | 4789 | 1679480 | 21010 | 41540 | 50.65 | http://ix.io/4kEp |
# systemd-analyze :
Startup finished in 6.290s (kernel) + 1.798s (userspace) = 8.089s
graphical.target reached after 1.764s in userspace
# time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-256-cbc
Sat Dec 19 16:37:16 2020 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
real 0m1.571s
user 0m1.553s
sys 0m0.016s
time openvpn --test-crypto --secret /tmp/secret --verb 0 --tun-mtu 20000 --cipher aes-128-cbc
Sat Dec 19 19:36:17 2020 disabling NCP mode (--ncp-disable) because not in P2MP client or server mode
real 0m1.524s
user 0m1.504s
sys 0m0.016s
3200 / 1.553 = 2060 Mbps for AES-256-CBC
3200 / 1.504 = 2127 Mbps for AES-128-CBC?!
Edit: Found this in RK3399 Datasheet:
Embedded dual-channel encryption and decryption engine
Support AES 128/192/256 bits key mode, ECB/CBC/CTR/XTS chain mode,
Slave/FIFO mode
Support DES/3DES (ECB and CBC chain mode), 3DES (EDE/EEE key mode),
Slave/FIFO mode
Support SHA1/SHA256/MD5(with hardware padding) HASH function, FIFO
mode only
Support 160-bit Pseudo Random Number Generator (PRNG)
Support 256-bit True Random Number Generator (TRNG)
Support PKA 512/1024/2048 bit Exp Modulator
# openssl engine
(dynamic) Dynamic engine loading support
# systemd-analyze blame
371ms networking.service
357ms dev-mmcblk2p2.device
341ms ssh.service
230ms chrony.service
216ms systemd-logind.service
207ms [email protected]
189ms systemd-udev-trigger.service
120ms sysfsutils.service
118ms systemd-journald.service
98ms e2scrub_reap.service
82ms rsyslog.service
74ms systemd-fsck@dev-disk-by\x2dlabel-BOOT_EMMC.service
57ms systemd-udevd.service
53ms armbian-hardware-optimize.service
47ms dev-hugepages.mount
46ms dev-mqueue.mount
44ms sys-kernel-debug.mount
40ms systemd-tmpfiles-setup.service
37ms armbian-hardware-monitor.service
37ms systemd-sysctl.service
35ms fake-hwclock.service
35ms sysstat.service
33ms kmod-static-nodes.service
32ms systemd-remount-fs.service
30ms rc-local.service
28ms systemd-tmpfiles-setup-dev.service
28ms systemd-user-sessions.service
28ms systemd-sysusers.service
26ms systemd-update-utmp.service
24ms systemd-update-utmp-runlevel.service
22ms systemd-modules-load.service
21ms boot.mount
21ms [email protected]
20ms systemd-journal-flush.service
19ms setvtrgb.service
14ms ifupdown-pre.service
12ms sys-kernel-config.mount
9ms tmp.mount
# iperf3 -c 192.168.20.150 -d -P 4
[...]
- - - - - - - - - - - - - - - - - - - - - - - - -
[ 4] 9.00-10.00 sec 28.0 MBytes 235 Mbits/sec
[ 6] 9.00-10.00 sec 28.2 MBytes 237 Mbits/sec
[ 8] 9.00-10.00 sec 28.1 MBytes 236 Mbits/sec
[ 10] 9.00-10.00 sec 28.2 MBytes 237 Mbits/sec
[SUM] 9.00-10.00 sec 113 MBytes 945 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-10.00 sec 282 MBytes 236 Mbits/sec sender
[ 4] 0.00-10.00 sec 282 MBytes 236 Mbits/sec receiver
[ 6] 0.00-10.00 sec 282 MBytes 236 Mbits/sec sender
[ 6] 0.00-10.00 sec 282 MBytes 236 Mbits/sec receiver
[ 8] 0.00-10.00 sec 282 MBytes 236 Mbits/sec sender
[ 8] 0.00-10.00 sec 282 MBytes 236 Mbits/sec receiver
[ 10] 0.00-10.00 sec 282 MBytes 236 Mbits/sec sender
[ 10] 0.00-10.00 sec 282 MBytes 236 Mbits/sec receiver
[SUM] 0.00-10.00 sec 1.10 GBytes 945 Mbits/sec sender
[SUM] 0.00-10.00 sec 1.10 GBytes 945 Mbits/sec receiver
iperf Done.
When I ran sudo /bin/bash ./sbc-bench.sh -c, the output is: sbc-bench.sh: line 1005: [: -ge: unary operator expected
I've installed v 0.7.1 on Raspberry Pi 4 (1GB RAM) and 7-zip is running one extra time after sbc-bench.sh script has completed.
I wasn't quite sure how to format the results in order to submit a PR.. I can if you like.. am I supposed to used the best number out of the group, ex: 7zip scores.
This is test results from an Amazon a1.xlarge instance.... that's a 4 core Graviton CPU with 8 gigs of RAM
| Pine64 RK3566 Quartz64-A Board | ~1890 | 6.2 | Ubuntu 22.04.2 LTS arm64 | 4980 | 1457 | 884590 | 3240 | 6100 | 6.98 |
| ASUS Tinker Board 2/2S | 2016/1512 MHz | 4.4 | Debian GNU/Linux 10 (buster) arm64 | 5920 | 365270 | 1136950 | 3210 | 7500 | 10.66 | http://ix.io/40Nw |
| ASUS Tinker Board 2/2S | 2016/1512 MHz | 4.4 | Debian GNU/Linux 10 (buster) arm64 | 6100 | 364430 | 1141770 | 3180 | 7500 | 10.96 | http://ix.io/40NG |
| ASUS Tinker Board 2/2S | 2016/1512 MHz | 4.4 | Debian GNU/Linux 10 (buster) arm64 | 6080 | 361000 | 1138510 | 3170 | 7500 | 11.04 | http://ix.io/40NR |
ASUS Tinker Board 2 has been tested with stock heatsink.
OS: Tinker Board 2 Debian 10 V2.0.4
Hi,
I launched your script on an OrangePi RK3399 (unfortunately behind a corporate proxy), and got this error:
Full results uploaded to <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ERROR: The requested URL could not be retrieved</title>
<style type="text/css"><!--
/*
Stylesheet for Squid Error pages
Adapted from design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License
*/
/* Page basics */
* {
font-family: verdana, sans-serif;
}
html body {
margin: 0;
padding: 0;
background: #efefef;
font-size: 12px;
color: #1e1e1e;
}
/* Page displayed title area */
#titles {
margin-left: 15px;
padding: 10px;
padding-left: 100px;
background: url('http://www.squid-cache.org/Artwork/SN.png') no-repeat left;
}
/* initial title */
#titles h1 {
color: #000000;
}
#titles h2 {
color: #000000;
}
/* special event: FTP success page titles */
#titles ftpsuccess {
background-color:#00ff00;
width:100%;
}
/* Page displayed body content area */
#content {
padding: 10px;
background: #ffffff;
}
/* General text */
p {
}
/* error brief description */
#error p {
}
/* some data which may have caused the problem */
#data {
}
/* the error message received from the system or other software */
#sysmsg {
}
pre {
font-family:sans-serif;
}
/* special event: FTP / Gopher directory listing */
#dirmsg {
font-family: courier;
color: black;
font-size: 10pt;
}
#dirlisting {
margin-left: 2%;
margin-right: 2%;
}
#dirlisting tr.entry td.icon,td.filename,td.size,td.date {
border-bottom: groove;
}
#dirlisting td.size {
width: 50px;
text-align: right;
padding-right: 5px;
}
/* horizontal lines */
hr {
margin: 0;
}
/* page displayed footer area */
#footer {
font-size: 9px;
padding-left: 10px;
}
body
:lang(fa) { direction: rtl; font-size: 100%; font-family: Tahoma, Roya, sans-serif; float: right; }
:lang(he) { direction: rtl; float: right; }
--></style>
</head><body>
<div id="titles">
<h1>ERROR</h1>
<h2>The requested URL could not be retrieved</h2>
</div>
<hr>
<div id="content">
<p><b>Invalid Request</b> error was encountered while trying to process the request:</p>
<blockquote id="data">
<pre>POST / HTTP/1.1
Host: ix.io
User-Agent: curl/7.52.1
Accept: */*
Proxy-Connection: Keep-Alive
Content-Length: 32442
Expect: 100-continue
Content-Type: multipart/form-data; boundary=------------------------082c57537f40911f
</pre>
</blockquote>
<p>Some possible problems are:</p>
<ul>
<li><p>Missing or unknown request method.</p></li>
<li><p>Missing URL.</p></li>
<li><p>Missing HTTP Identifier (HTTP/1.0).</p></li>
<li><p>Request is too large.</p></li>
<li><p>Content-Length missing for POST or PUT requests.</p></li>
<li><p>Illegal character in hostname; underscores are not allowed.</p></li>
<li><p>HTTP/1.1 <q>Expect:</q> feature is being asked from an HTTP/1.0 software.</p></li>
</ul>
<p>Your cache administrator is <a href="mailto:root?subject=CacheErrorInfo%20-%20ERR_INVALID_REQ&body=CacheHost%3A%20%0D%0AErrPage%3A%20ERR_INVALID_REQ%0D%0AErr%3A%20%5Bnone%5D%0D%0ATimeStamp%3A%20Tue,%2012%20Nov%202019%2010%3A46%3A04%20GMT%0D%0A%0D%0AClientIP%3A%2010.24.67.227%0D%0A%0D%0AHTTP%20Request%3A%0D%0APOST%20%2F%20HTTP%2F1.1%0AHost%3A%20ix.io%0D%0AUser-Agent%3A%20curl%2F7.52.1%0D%0AAccept%3A%20*%2F*%0D%0AProxy-Connection%3A%20Keep-Alive%0D%0AContent-Length%3A%2032442%0D%0AExpect%3A%20100-continue%0D%0AContent-Type%3A%20multipart%2Fform-data%3B%20boundary%3D------------------------082c57537f40911f%0D%0A%0D%0A%0D%0A">root</a>.</p>
<br>
</div>
<hr>
<div id="footer">
<p>Generated Tue, 12 Nov 2019 10:46:04 GMT by proxy (squid/3.1.10)</p>
<!-- ERR_INVALID_REQ -->
</div>
</body></html>. Please check the log for anomalies (e.g. swapping
or throttling happenend) and otherwise share this URL.
The installation of the tools went fine (I guess thanks to the http_proxy and https_proxy environment variables), but posting the results failed.
Thanks.
After realising the 'missed opportunity' (see my latest comment on 'OS and Memory Impact on Mini PC Gaming Performance') I found that the CPU temperature during system health was not reflected correctly in the latest version of ‘sbc-bench’.
As a temporary work-around I ran the following script:
if $(lsmod | grep -qsw "^k10temp"); then # AMD
HWMON=$(grep --include=name -rls /sys/devices/pci* -e "^k10temp$" | sed 's?.*hwmon/??' | sed 's?/name??')
elif $(lsmod | grep -qsw "^coretemp"); then # Intel
HWMON=$(ls /sys/devices/platform/coretemp.0/hwmon)
else
HWMON=""
fi
if [ -f "/sys/class/hwmon/${HWMON}/temp1_input" ]; then
echo "sed -i 's?echo 0 >?ln -fs /sys/class/hwmon/${HWMON}/temp1_input ?' sbc-bench.sh"
else
echo "Cannot determine 'hwmon'"
fi
I'm not suggesting this as 'the fix' but rather using it to highlight where the issue is and one possible way of addressing it.
Microsoft Devkit 2023 results http://ix.io/4qG1
This is native results from linux
with stock os
Testing out -r
mode on our RK3566 based product.
At line 709 the script matched to rkvenc
's governor:
radxa@rock-3c:~$ Governors="$(find /sys -name "*governor" | grep -E -v '/sys/module|cpuidle|watchdog')"
find: ‘/sys/kernel/tracing’: Permission denied
find: ‘/sys/kernel/debug’: Permission denied
find: ‘/sys/fs/pstore’: Permission denied
find: ‘/sys/fs/bpf’: Permission denied
find: ‘/sys/fs/fuse/connections/35’: Permission denied
radxa@rock-3c:~$ echo $Governors
/sys/devices/platform/fdf40000.rkvenc/devfreq/fdf40000.rkvenc/governor /sys/devices/platform/fde60000.gpu/devfreq/fde60000.gpu/governor /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
This node provides AvailableGovernorsSysFSNode
:
radxa@rock-3c:~$ ls /sys/devices/platform/fdf40000.rkvenc/devfreq/fdf40000.rkvenc/
available_frequencies device max_freq polling_interval target_freq
available_governors governor min_freq power trans_stat
cur_freq load name subsystem uevent
radxa@rock-3c:~$ cat /sys/devices/platform/fdf40000.rkvenc/devfreq/fdf40000.rkvenc/available_governors
venc_ondemand simple_ondemand
However, since its SysFSNode
does not contain the word cpufreq
, it is getting the default governor resetting treatment.
I have confirmed that echo powersave | sudo tee /sys/devices/platform/fdf40000.rkvenc/devfreq/fdf40000.rkvenc/governor
can reliably bring our device down.
Hi Tkaiser, this project is essential for arm sbc understanding. I was able to prove that my rk3399 was lying on me with the frequencies on manjaro while going further than 2.2 ghz on the big cores. I still dont understand who is thr one cheating here bc on rk3399 that should be driven by the kernel unlike on armlogic platforms and rpi. Maybe it only happens on armbian since I wasnt able to get it further than 2.2 ghz on armbian. I mean, adding another opp to go further.
Since the gpu seems to do the same on rk3399, so, not saying the truth about the freq, would be cool if something like that could be performed on the gpu side of things, since I also noted that the rpi4 gpu also fake his frequencies.
BR, Salvador
I will make a video mentioning this project.
| T-HEAD c910 ice | ~1200 MHz | 5.10 | Debian GNU/Linux bookworm/sid riscv64 | 1760 | 24420 | 26930 | 3340 | 6470 | - | http://ix.io/41AB |
| Intel(R) Celeron(R) N4500 @ 1.10GHz | 2800/2800 MHz | 5.13 | Impish x86_64/amd64 | 5810 | 675730 | 783850 | 8120 | 8340 | - | http://ix.io/3HKQ |
I've tried to use this tool on a newly flashed Nano Pi NEO with Armbian (Ubuntu). All packages updated in advance. After starting this script as root (with -c option), nothing happened. I opened a separate shell and htop shows me this:
Doesn't look like it's actually doing something. The package installer might sit somewhere in a cage waiting for me to do something. Ctrl+C doesn't stop it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.