Bạn có thể điều tiết băng thông đến một ramdisk dựa trên tmpfs không?


8

Tôi đã tạo một ramdisk bằng cách sử dụng tmpfs như sau:

sudo mount -t tmpfs -o size=1024m tmpfs /myramdisk

Tôi đã xem xét giới hạn băng thông của hệ thống con ck blkio "read_bps_device" và "write_bps_device" nhưng dường như chúng yêu cầu số lượng lớn và nhỏ của thiết bị khối mà bạn muốn điều khiển truy cập.

Có cách nào để đạt được giới hạn băng thông tương tự với ramdisk tmpfs trong bộ nhớ không?

CẬP NHẬT : Tôi tìm thấy một cách bùng nổ để hoàn thành việc này. Tôi đầu tiên nfs xuất ramdisk mount. Sau đó nfs gắn kết nó trên loopback trên cùng một máy. Sau đó tôi sử dụng định hình lưu lượng truy cập mạng linux để đặt giới hạn băng thông. Điều này dường như để cung cấp những gì tôi cần. Tôi đang trong quá trình thực hiện một số phép đo để xem hình phạt mà lớp layering đáng ghét này đòi hỏi. Tôi sẽ cập nhật thông tin về điều đó trong một vài ngày.


Bạn có thể viết lên những gì bạn đã làm như một câu trả lời để tôi có thể trao giải thưởng không? Bounty là một loại "sử dụng nó hoặc mất nó" một khi nó được cung cấp.
Bratchley

Câu trả lời:


1

stathoặc /proc/[PID]/mountinfovẫn nên cho bạn biết số thiết bị là gì:

[root@XXXlin01 block]# stat --printf="%d" /tmp/mnt; echo
24
[root@XXXlin01 block]# stat --printf="%d" /tmp/mnt2; echo
25
[root@XXXlin01 block]# grep "/tmp/mnt" /proc/22195/mountinfo
40 20 0:24 / /tmp/mnt rw,relatime - tmpfs none rw
41 20 0:25 / /tmp/mnt2 rw,relatime - tmpfs none rw

Cả hai kết quả đầu ra đều hiển thị 0:250:24như số thiết bị được đề cập. Số thiết bị "0" được sử dụng cho các mount "không tên" (chẳng hạn như tmpfs, sysfs, nfs, Procfs, v.v.). Ví dụ, đây là một mount NFS:

[root@XXXlin01 block]# grep "/LinuxHome" /proc/22195/mountinfo
39 36 0:23 / /home/jad87 rw,relatime - nfs duhsnas-xxx:/ifs/Application\040File\040Shares/DUHS/LinuxHomeDir_fs/jad87 rw,vers=3,rsize=4096,wsize=4096,namlen=255,soft,proto=tcp,timeo=14,retrans=2,sec=sys,mountaddr=10.1x.92.106,mountvers=3,mountport=300,mountproto=udp,local_lock=none,addr=10.1x.92.106
42 36 0:26 / /home/tsa20 rw,relatime - nfs 10.1x.92.117:/ifs/Application\040File\040Shares/DUHS/LinuxHomeDir_fs/tsa20 rw,vers=3,rsize=4096,wsize=4096,namlen=255,soft,proto=tcp,timeo=14,retrans=2,sec=sys,mountaddr=10.1x.92.117,mountvers=3,mountport=300,mountproto=udp,local_lock=none,addr=10.1x.92.117

Các gắn kết NFS ở trên là 0:230:26tương ứng.


Cảm ơn thông tin về số lượng lớn / nhỏ của ramdisk. Nhưng hệ thống con blkio cgroups dường như không cho phép điều chỉnh cho các thiết bị không tên. echo "0:32 1048576" > /sys/fs/cgroup/blkio/blkio.throttle.write_bps_deviceđã cho tôi một "lỗi viết: đối số không hợp lệ". Có thể có một cách khác mà ai đó biết.
kỳ lạ

À xin lỗi, không biết điều đó. Vì tò mò, mục tiêu trong việc định hình băng thông tmpfs là gì? Chỉ để nhường chỗ cho các công việc khác trên FSB hay cái gì đó?
Bratchley

Đây là một nghiên cứu mô phỏng cho một dự án khóa học. Mục tiêu là vẽ đồ thị hiệu năng của ứng dụng dựa trên nhiều băng thông ghi / đọc khác nhau.
kỳ lạ
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.