Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Hệ điều hành Unix] Dựng bảng free -m từ /proc/meminfo

    Lệnh free tính các cột từ /proc/meminfo. Với đơn vị kB, các công thức (phiên bản procps hiện đại):

    • total = MemTotal
    • free = MemFree
    • shared = Shmem
    • buff/cache = Buffers + Cached + SReclaimable
    • available = MemAvailable
    • used = MemTotal - MemFree - (Buffers + Cached + SReclaimable)

    Đầu vào dạng /proc/meminfo chứa các khóa: MemTotal, MemFree, MemAvailable, Buffers, Cached, SReclaimable, Shmem. Hãy in một dòng gồm 6 số (kB) theo thứ tự: total used free shared buff_cache available

    Ví dụ I/O:

    Input:
    MemTotal:       16000000 kB
    MemFree:         2000000 kB
    MemAvailable:    9000000 kB
    Buffers:          500000 kB
    Cached:          4000000 kB
    SReclaimable:     500000 kB
    Shmem:            300000 kB
    Output: 16000000 9000000 2000000 300000 5000000 9000000
    
    • Định dạng đầu vào:

      Nhiều dòng /proc/meminfo với 7 khóa nêu trên.

    • Ràng buộc đầu vào:

      0 ≤ mỗi giá trị ≤ 10^9; used ≥ 0.

    • Định dạng đầu ra:

      Một dòng 6 số cách nhau bởi dấu cách: total used free shared buff_cache available.

    Ví dụ:

    Đầu vào:

    MemTotal:       16000000 kB
    MemFree:         2000000 kB
    MemAvailable:    9000000 kB
    Buffers:          500000 kB
    Cached:          4000000 kB
    SReclaimable:     500000 kB
    Shmem:            300000 kB
    

    Đầu ra:

    16000000 9000000 2000000 300000 5000000 9000000

    Giải thích:

    buff/cache=500000+4000000+500000=5000000; used=16000000-2000000-5000000=9000000.

    Đang tải editor...