Các cách tốt nhất có thể để điểm chuẩn RAM (không có ECC) trong linux / arm là gì?


19

Tôi muốn kiểm tra tính toàn vẹn và hiệu suất toàn cầu của chip bộ nhớ không ECC trên bảng tùy chỉnh

Có một số công cụ chạy dưới linux để tôi có thể theo dõi nhiệt độ hệ thống và toàn cầu cùng một lúc không?

Có một số xét nghiệm cụ thể không có ECC để làm nói chung?

CHỈNH SỬA 1:

Tôi đã biết cách theo dõi nhiệt độ (Tôi sử dụng tính năng nền tảng đặc biệt /sys/devices/pl platform / ab / temp1_input).

Để bây giờ:

  • wazoox: nó hoạt động nhưng tôi đã viết mã các bài kiểm tra của riêng mình
  • Jason Huntley:
    • ramspeed: không hoạt động trên cánh tay
    • điểm chuẩn phát trực tuyến: nó hoạt động và rất nhanh, vì vậy tôi sẽ xem liệu nó có chính xác và đầy đủ không
    • memtest: Tôi sẽ thử sau, vì nó không chạy trực tiếp từ linux
    • căng thẳng cho fedora: Tôi cũng sẽ thử sau, quá khó để tôi cài đặt fedora ngay bây giờ

Tôi tìm thấy bản phân phối này: http://www.stresslinux.org/sl/

Tôi sẽ tiếp tục kiểm tra các công cụ chạy trực tiếp trong linux mà không phụ thuộc quá lớn, sau khi tôi có thể thử các giải pháp như stresslinux, memtest, stress cho fedora.

Cảm ơn câu trả lời của bạn, tôi sẽ tiếp tục điều tra


Sẽ rất hữu ích nếu bạn cung cấp cho chúng tôi bản phân phối linux mà bạn đang làm việc. Bạn đang chạy một máy chủ hoặc phân phối máy tính để bàn? Có bao gồm XServer không?
Jason Huntley

Tôi sử dụng linux 3.0 metal metal với busybox, rootfs là trên nfs, vì vậy tôi biên dịch các công cụ từ một máy chủ khác với trình biên dịch chéo. Không có XServer.
moul

Câu trả lời:


13

Đây là cách tôi đôi khi kiểm tra ram: đầu tiên gắn hai tmpfs (theo mặc định tmpfs là một nửa ram):

# mount -t tmpfs /mnt/test1 /mnt/test1
# mount -t tmpfs /mnt/test2 /mnt/test2

Kiểm tra bộ nhớ trống và dung lượng trống:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     234760      17316          0      75856      62328
-/+ buffers/cache:      96576     155500
Swap:      1048820        332    1048488

# df -h -t tmpfs
Sys. de fich.         Tail. Occ. Disp. %Occ. Monté sur
tmpfs                 124M     0  124M   0% /lib/init/rw
udev                   10M  104K  9,9M   2% /dev
tmpfs                 124M     0  124M   0% /dev/shm
/mnt/test1            124M     0  124M   0% /mnt/test1
/mnt/test2            124M     0  124M   0% /mnt/test2

Bây giờ điền vào các tmpfs với dd:

# dd if=/dev/zero of=/mnt/test1/test bs=1M 
dd: écriture de `/mnt/test1/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 1,81943 seconde, 70,8 MB/s

# dd if=/dev/zero of=/mnt/test2/test bs=1M 
dd: écriture de `/mnt/test2/test': Aucun espace disponible sur le périphérique
123+0 enregistrements lus
122+0 enregistrements écrits
128802816 octets (129 MB) copiés, 5,78563 seconde, 22,3 MB/s

Bạn có thể kiểm tra xem bộ nhớ của bạn có thực sự khá đầy đủ không:

# free
             total       used       free     shared    buffers     cached
Mem:        252076     248824       3252          0       1156     226380
-/+ buffers/cache:      21288     230788
Swap:      1048820      50020     998800

Bây giờ bạn có thể chạy các thử nghiệm khác nhau, ví dụ kiểm tra xem cả hai tệp tạm thời giống hệt nhau, trực tiếp hoặc đang chạy md5sum, sha1sum, v.v .:

# time cmp /mnt/test1/test /mnt/test2/test 

real    0m4.328s
user    0m0.041s
sys     0m1.117s

Về giám sát nhiệt độ, tôi chỉ biết các cảm biến lm. Tôi không biết nếu nó quản lý phần cứng cụ thể của bạn, nhưng dù sao bạn cũng có thể thử nó.


4
Điểm chuẩn này sẽ bị ảnh hưởng bởi bộ đệm CPU, nhưng đó là một ý tưởng tốt.
Mircea Vutcovici

2
Không tự kiểm tra, nhưng Mircea có lẽ đúng: vì vậy tôi sẽ "echo 3> / Proc / sys / vm / drop_caches" để giải phóng các trang web, nha khoa và inodes, nên làm điều đó.
Manuel

Đó là bộ đệm hệ thống tập tin, không phải bộ nhớ CPU.
Mircea Vutcovici

1
+1 ddPhương pháp này (trên AMD Athlon 64 3200+ cũ) đã mang lại cho tôi kết quả tỷ lệ thuận với các thay đổi về tốc độ đồng hồ bộ nhớ, điều này có nghĩa là nó đủ tốt. Tuy nhiên, không chắc chắn lý do tại sao bạn muốn làm tắc nghẽn toàn bộ bộ nhớ hệ thống /dev/zero- hệ thống của tôi bị đóng băng khi tôi cố gắng làm điều đó.
Lumi

3
Tôi đã điều chỉnh điều này trong một tập lệnh bash đơn giản mà tôi sử dụng cho các nhà cung cấp VPS chuẩn - bitbucket.org/snippets/danielsokolowski/G5oeA
Daniel Sokolowski

7

Các cách tốt nhất có thể để điểm chuẩn RAM (không có ECC) trong linux / arm là gì?

RamSpeed ​​là công cụ đánh giá bộ nhớ đa nền tảng duy nhất mà tôi biết. Bạn có thể biên dịch nó cho arm, nếu được hỗ trợ:

http://alasir.com/software/ramspeed/ , liên kết cũ đã chết, sử dụng:

https://github.com/cruvolo/ramspeed-smp

Nếu nó không được hỗ trợ, bạn có thể đo điểm chuẩn bằng luồng:

http://www.cs.virginia.edu/stream/ref.html

muốn kiểm tra tính toàn vẹn và hiệu suất toàn cầu của chip bộ nhớ không ECC trên bảng tùy chỉnh

Ở đây, tôi đã sử dụng memtest nhiều lần để kiểm tra tính toàn vẹn và nó hoạt động rất tốt:

http://www.memtest.org/

* Lưu ý, tôi chỉ đọc phần này hỗ trợ Arm. Tuy nhiên, tôi chưa thử nghiệm trên Arm.

Có một số công cụ chạy dưới linux để tôi có thể theo dõi nhiệt độ hệ thống và toàn cầu cùng một lúc không?

Nếu bản phân phối bạn đang sử dụng hỗ trợ yum, bạn có thể dễ dàng cài đặt lm_sensors:

yum cài đặt lm_sensors

Bạn cũng có thể tải xuống và biên dịch từ: tại đây http://www.lm-sensors.org/

Tuy nhiên, tôi không chắc chắn nó sẽ cung cấp dữ liệu nhiệt độ liên quan đến mmemory của bạn. Bo mạch chủ của bạn cũng phải có cảm biến để đọc nhiệt độ mem.

Có một số xét nghiệm cụ thể không có ECC để làm nói chung?

memtest không bao gồm các xét nghiệm cho cả ECC và không ECC

Tôi chỉ nhớ một điều cuối cùng bạn có thể thử. Nhận fedora cho kiến ​​trúc cánh tay hoặc vòng / phút. Bạn có thể chạy gói căng thẳng sẽ kiểm tra căng thẳng cpu và bộ nhớ của bạn:

căng thẳng-1.0.4-4.fc13.armv5tel.rpm

Nếu busybox có trình cài đặt vòng / phút được đóng gói cùng với nó, bạn có thể triển khai một trong các rpms arm từ bản phân phối fedora.


Thật thú vị khi liên kết RAMspeed bây giờ chuyển hướng đến các trang web spam.
Ciro Santilli 心 心 事件

vâng, có vẻ như trang web của họ đã biến mất, cập nhật liên kết đến github.
Jason Huntley

1

Viết một tệp vào một tmpfs hiện có như / tmp với dd như wazoox đề xuất, nhưng giới hạn kích thước của nó dưới một nửa bộ nhớ trống của bạn.

Đầu tiên, tìm hiểu bao nhiêu bộ nhớ có sẵn:

> free -h                                                                       
              total        used        free      shared  buff/cache  available 
Mem:            15G        3.0G         11G        540M        1.0G         11G 
Swap:            9G        1.2M          9G                                     

Sau đó, viết một tệp, trong trường hợp này tổng cộng 4GB sử dụng 4000 khối 1MB:

> dd if=/dev/zero of=/tmp/testfile bs=1M count=4000 
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB, 3.9 GiB) copied, 1.1395 s, 3.7 GB/s

Bằng cách này, bạn sẽ tránh hoán đổi và không cần phải gắn kết bất cứ điều gì.


Một cái gì đó dường như được giới hạn một cách giả tạo tốc độ tmpfstrên các máy RHEL6 / 7 của tôi. Tôi nhận được 4GB / s giống như bạn cho dù tôi chạy lệnh này trên máy DDR3-1866 kênh bốn, máy DDR4-2666 kênh bốn hoặc cùng một máy chỉ có hai kênh bộ nhớ. Chúng nên được ghi vào bộ nhớ ở mức 60, 85 và 42GB / s, chứ không phải 4GB / s.
Đánh dấu gian hàng

Có thể dd chỉ đang thực hiện các vòng lặp với một liên tục chờ đợi liên tục và do đó, hạn chế tốc độ của toàn bộ hành động. Hãy thử cách khác: dd if = / dev / zero of = / tmp / testfile bs = 4000M Count = 1
baldrianbandit

Thật kỳ lạ, tôi đã thử với nhiều loại bscountkết hợp tốt nhất bs=512Knhưng nó không bao giờ vượt quá 4.2GB / giây trên máy mang lại 43GB / giây với điểm chuẩn STREAM.
Đánh dấu gian hàng

0

Tôi đã sử dụng memtest của u-boot, có hai bài kiểm tra (xem u-boot / common / cmd_mem.c):

Thử nghiệm đầu tiên rất đơn giản (viết, kiểm tra), thử nghiệm thứ hai được kích hoạt #define CONFIG_SYS_ALT_MEMTEST 1và thêm nhiều thử nghiệm khác,

chăm sóc vượt qua phần bù bắt đầu (argv [1]) sau không gian bộ nhớ u-boot, tức là mtest 0x200000.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.