Tôi đang cố gắng nhấn mạnh bộ nhớ của bộ chứa ubuntu. Nhập miễn phí trong thiết bị đầu cuối lệnh của tôi cung cấp kết quả sau:
miễn phí -m
tổng số buff/bộ đệm được chia sẻ miễn phí đã sử dụng hiện có
Mem: 7958 585 6246 401 1126 6743
Hoán đổi: 2048 0 2048
Tôi muốn nhấn mạnh chính xác 10% tổng bộ nhớ khả dụng. Mỗi căng thẳng-ng hướng dẫn sử dụng:
-m N, --vm N
bắt đầu N công nhân liên tục gọi mmap(2)/munmap(2) và ghi vào phân bổ
kỉ niệm. Lưu ý rằng điều này có thể khiến các hệ thống vấp phải trình diệt OOM nhân trên Linux
hệ thống nếu không đủ bộ nhớ vật lý và trao đổi không khả dụng.
--vm-byte N
mmap N byte cho mỗi nhân viên vm, mặc định là 256 MB. Người ta có thể chỉ định kích thước là% của
tổng bộ nhớ khả dụng hoặc theo đơn vị Byte, KBytes, MBytes và GBytes bằng cách sử dụng
hậu tố b, k, m hoặc g.
Bây giờ, trên vùng chứa mục tiêu của mình, tôi chạy hai yếu tố gây căng thẳng bộ nhớ để chiếm 10% bộ nhớ:
căng thẳng-ng -vm 2 --vm-byte 10% -t 10
Tuy nhiên, mức sử dụng bộ nhớ trên vùng chứa không bao giờ đạt 10% cho dù tôi chạy nó bao nhiêu lần. Tôi đã thử các giá trị thời gian chờ khác nhau, không có kết quả. Tủ quần áo mà nó nhận được là 8,9% không bao giờ đạt tới 10%. Tôi kiểm tra việc sử dụng bộ nhớ trên vùng chứa của mình theo cách này:
docker stats --no-stream kind_sinoussi
TÊN ID CONTAINER CPU % MEM SỬ DỤNG / GIỚI HẠN MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 199,01% 638,4MiB / 7,772GiB 8,02% 1,45kB / 0B 0B / 0B 7
Trong nỗ lực tìm hiểu hành vi này, tôi đã thử chạy cùng một lệnh với một đơn vị byte chính xác.Trong trường hợp của tôi, tôi sẽ chọn 800 mega vì 7958m * 0,1 = 795,8 ~ 800m.
căng thẳng-ng -vm 2 --vm-byte 800m -t 15
Và, tôi nhận được 10%!
docker stats --no-stream kind_sinoussi
TÊN ID CONTAINER CPU % MEM SỬ DỤNG / GIỚI HẠN MEM % NET I/O BLOCK I/O PIDS
c3fc7a103929 kind_sinoussi 198,51% 815,2MiB / 7,772GiB 10,24% 1,45kB / 0B 0B / 0B 7
Ai đó có thể giải thích tại sao điều này đang xảy ra?
Một câu hỏi khác, liệu stress-ng có thể nhấn mạnh mức sử dụng bộ nhớ lên 100% không?