Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

memusage - Trực tuyến trên đám mây

Chạy memusage trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks qua Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là bản ghi nhớ lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


memusage - hồ sơ sử dụng bộ nhớ của một chương trình

SYNOPSIS


giấy nhớ [tùy chọn] ... chương trình [chương trình] ...

MÔ TẢ


giấy nhớ là một tập lệnh bash cấu hình việc sử dụng bộ nhớ của chương trình, chương trình. Nó
tải trước libmemusage.so thư viện vào môi trường của người gọi (thông qua LD_PRELOAD
biến môi trường; Thấy chưa ld.so(số 8)). Các libmemusage.so thư viện theo dõi phân bổ bộ nhớ
bằng cách chặn cuộc gọi tới malloc(3) calloc(3) tự do(3), và phân bổ tài chính(3); tùy chọn, cuộc gọi
đến mmap(2) bản đồ(2), và bản đồ(2) cũng có thể bị chặn.

giấy nhớ có thể xuất dữ liệu đã thu thập ở dạng văn bản hoặc nó có thể sử dụng bản ghi nhớ(1) (xem
các -p tùy chọn, bên dưới) để tạo tệp PNG chứa biểu diễn đồ họa của
dữ liệu đã thu thập.

Bộ nhớ sử dụng tóm tắt
Dòng "Tóm tắt sử dụng bộ nhớ" xuất ra bởi giấy nhớ chứa ba trường:

heap Tổng số
Tổng của kích thước đối số của tất cả malloc(3) lời kêu gọi, sản phẩm của các đối số
(nmemb*kích thước) của tất cả calloc(3) cuộc gọi và tổng của chiều dài đối số của tất cả mmap(2)
cuộc gọi. Trong trường hợp phân bổ tài chính(3) bản đồ(2), nếu kích thước mới của một
phân bổ lớn hơn kích thước trước đó, tổng của tất cả các khác biệt đó
(kích thước mới trừ kích thước cũ) được thêm vào.

heap đỉnh
Tối đa của tất cả kích thước đối số của malloc(3), tất cả các sản phẩm của nmemb*kích thước of
calloc(3), tất cả kích thước đối số của phân bổ tài chính(3) chiều dài đối số của mmap(2), và
kích thước mới đối số của bản đồ(2).

ngăn xếp đỉnh
Trước lệnh gọi đầu tiên đến bất kỳ chức năng được giám sát nào, địa chỉ con trỏ ngăn xếp
(con trỏ ngăn xếp cơ sở) được lưu. Sau mỗi lần gọi hàm, ngăn xếp thực tế
địa chỉ con trỏ được đọc và sự khác biệt so với con trỏ ngăn xếp cơ sở
tính toán. Giá trị lớn nhất của những khác biệt này sau đó là đỉnh ngăn xếp.

Ngay sau dòng tóm tắt này, một bảng hiển thị các cuộc gọi số, tổng bộ nhớ
được phân bổ hoặc phân bổ và số lượng lệnh gọi không thành công cho mỗi hàm bị chặn. Vì
phân bổ tài chính(3) bản đồ(2), trường bổ sung "nomove" hiển thị các phân bổ lại đã thay đổi
địa chỉ của một khối và trường "dec" bổ sung hiển thị các phân bổ lại đã giảm
kích thước của khối. Vì phân bổ tài chính(3), trường bổ sung "miễn phí" hiển thị các phân bổ lại
khiến một khối được giải phóng (tức là kích thước được phân bổ lại là 0).

"Phân bổ lại / tổng bộ nhớ" của bảng xuất ra bởi giấy nhớ không phản ánh các trường hợp
phân bổ tài chính(3) được sử dụng để phân bổ lại một khối bộ nhớ có kích thước nhỏ hơn trước đó.
Điều này có thể khiến tổng của tất cả các ô "tổng bộ nhớ" (không bao gồm "trống") lớn hơn
ô "trống / tổng bộ nhớ".

Histogram cho chặn kích thước
"Biểu đồ cho kích thước khối" cung cấp bảng phân bổ bộ nhớ thành nhiều
các kích thước xô.

LỰA CHỌN


-n tên, --progname =tên
Tên của tệp chương trình vào hồ sơ.

-p hồ sơ, --png =hồ sơ
Tạo đồ họa PNG và lưu trữ nó trong hồ sơ.

-d hồ sơ, --data =hồ sơ
Tạo tệp dữ liệu nhị phân và lưu trữ trong hồ sơ.

-u, --không có bộ đệm
Không đệm đầu ra.

-b kích thước, --buffer =kích thước
Thu thập kích thước các mục trước khi viết chúng ra.

- không hẹn giờ
Tắt tính năng dựa trên bộ hẹn giờ (SIGPROF) lấy mẫu giá trị con trỏ ngăn xếp.

-m, - bản đồ
Cũng theo dõi mmap(2) bản đồ(2), và bản đồ(2).

-?, --Cứu giúp
In trợ giúp và thoát.

--sử dụng
In một tin nhắn sử dụng ngắn và thoát.

-V, --phiên bản
In thông tin phiên bản và thoát.

Các tùy chọn sau chỉ áp dụng khi tạo đầu ra đồ họa:

-t, - dựa trên thời gian
Sử dụng thời gian (thay vì số lần gọi hàm) làm tỷ lệ cho trục X.

-T, --toàn bộ
Đồng thời vẽ biểu đồ sử dụng tổng bộ nhớ.

--title =tên
Sử dụng tên như tiêu đề của đồ thị.

-x kích thước, --x-size =kích thước
Vẽ biểu đồ kích thước rộng pixel.

-y kích thước, --y-size =kích thước
Vẽ biểu đồ kích thước pixel cao.

EXIT TÌNH TRẠNG


Trạng thái thoát bằng trạng thái thoát của chương trình đã định cấu hình.

THÍ DỤ


Dưới đây là một chương trình đơn giản giúp tái phân bổ một khối bộ nhớ trong các chu kỳ tăng lên đến đỉnh điểm
trước đó phân bổ lại theo chu kỳ bộ nhớ trong các khối nhỏ hơn trở về XNUMX.
Sau khi biên dịch chương trình và chạy các lệnh sau, một biểu đồ của bộ nhớ
cách sử dụng chương trình có thể được tìm thấy trong tệp memusage.png:

$ giấy nhớ --data = memusage.dat ./a.out
hữu ích. Cảm ơn !
Tóm tắt sử dụng bộ nhớ: tổng số heap: 45200, đỉnh của heap: 6440, đỉnh của ngăn xếp: 224
tổng số cuộc gọi tổng bộ nhớ các cuộc gọi không thành công
malloc | 1 400 0
realloc | 40 44800 0 (nomove: 40, dec: 19, free: 0)
calloc | 0 0 0
miễn phí | 1 440
Biểu đồ cho kích thước khối:
192-207 1 2% =================
hữu ích. Cảm ơn !
2192-2207 1 2% =================
2240-2255 2 4% ====================================
2832-2847 2 4% ====================================
3440-3455 2 4% ====================================
4032-4047 2 4% ====================================
4640-4655 2 4% ====================================
5232-5247 2 4% ====================================
5840-5855 2 4% ====================================
6432-6447 1 2% =================
$ bản ghi nhớ memusage.dat memusage.png

chương trình nguồn
#bao gồm
#include

#define CHU KỲ 20

int
main (int argc, char * argv [])
{
int tôi, j;
int * p;

printf ("malloc:% zd \ n", sizeof (int) * 100);
p = malloc (sizeof (int) * 100);

for (i = 0; i <CYCLES; i ++) {
nếu (tôi <CYCLES / 2)
j = tôi;
khác
NS--;

printf ("realloc:% zd \ n", sizeof (int) * (j * 50 + 110));
p = realloc (p, sizeof (int) * (j * 50 + 100));

printf ("realloc:% zd \ n", sizeof (int) * ((j + 1) * 150 + 110));
p = realloc (p, sizeof (int) * ((j + 1) * 150 + 110));
}

miễn phí (p);
thoát ra (EXIT_SUCCESS);
}

Sử dụng memusage trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

  • 1
    VBA-M (Đã lưu trữ - Hiện có trên Github)
    VBA-M (Đã lưu trữ - Hiện có trên Github)
    Dự án đã chuyển sang
    https://github.com/visualboyadvance-m/visualboyadvance-m
    Các tính năng: Tạo gian lận lưu trạng thái đa
    hệ thống, hỗ trợ gba, gbc, gb, sgb,
    sgb2Tu...
    Tải xuống VBA-M (Đã lưu trữ - Hiện có trên Github)
  • 2
    Stacer
    Stacer
    Giám sát và tối ưu hóa hệ thống Linux
    Kho lưu trữ Github:
    https://github.com/oguzhaninan/Stacer.
    Đối tượng: Người dùng cuối / Máy tính để bàn. Người sử dụng
    giao diện: Qt. Lập trình La ...
    Tải xuống Stacer
  • 3
    CamCáo
    CamCáo
    Ngã ba của TeamWinRecoveryProject(TWRP)
    với nhiều chức năng bổ sung, thiết kế lại
    và nhiều tính năng khác: Hỗ trợ Treble và
    ROM không phải TrebleNhân Oreo cập nhật,
    được xây dựng...
    Tải xuống OrangeFox
  • 4
    itop - ITSM CMDB OpenSource
    itop - Nguồn mở ITSM CMDB
    Cổng hoạt động CNTT: hoàn toàn mở
    nguồn, ITIL, dịch vụ dựa trên web
    công cụ quản lý bao gồm đầy đủ
    CMDB có thể tùy chỉnh, hệ thống trợ giúp và
    một người đàn ông tài liệu ...
    Tải xuống itop - ITSM CMDB OpenSource
  • 5
    Clementine
    Clementine
    Clementine là một bản nhạc đa nền tảng
    người chơi và tổ chức thư viện lấy cảm hứng từ
    Amarok 1.4. Nó có một tốc độ nhanh và
    giao diện dễ sử dụng và cho phép bạn
    tìm kiếm và...
    Tải xuống Clementine
  • 6
    XISMuS
    XISMuS
    CHÚ Ý: Bản cập nhật tích lũy 2.4.3 có
    đã được phát hành !! Bản cập nhật hoạt động cho bất kỳ
    phiên bản 2.xx trước đó. Nếu nâng cấp
    từ phiên bản v1.xx, vui lòng tải xuống và
    i ...
    Tải xuống XISMuS
  • Khác »

Lệnh Linux

  • 1
    abi từ
    abi từ
    abiword � từ đa nền tảng linh hoạt
    bộ xử lý...
    Chạy abiword
  • 2
    abl
    abl
    abl - Đại diện tiền tố cho
    các hàm boolean MÔ TẢ:
    libablmmm.a là một thư viện cho phép
    biểu diễn hàm boolean trong một
    Dạng giống LISP. MỘT ...
    Chạy abl
  • 3
    create_bmp_for_orth_in_circ
    create_bmp_for_orth_in_circ
    xin lỗi_no_writing_yet - một phần của atlc Sử dụng
    create_bmp_for_ect_in_circ trực tuyến bằng cách sử dụng
    dịch vụ onworks.net. ...
    Chạy create_bmp_for_orth_in_circ
  • 4
    tạo_bmp_for_rect_in_rect
    tạo_bmp_for_rect_in_rect
    create_bmp_for_ect_in_ect - bitmap
    máy phát điện cho dây dẫn hình chữ nhật
    bên trong dây dẫn hình chữ nhật (một phần của
    atc)...
    Chạy create_bmp_for_orct_in_ort
  • 5
    gap5
    gap5
    Gap5 - Chương trình tập hợp bộ gen (một phần của
    gói staden)...
    Chạy khoảng cách5
  • 6
    Gapi2-codegen
    Gapi2-codegen
    không có giấy tờ - Không có trang hướng dẫn nào cho việc này
    chương trình. MÔ TẢ: Chương trình này thực hiện
    không có manpage. Chạy lệnh này
    với công tắc trợ giúp để xem nó là gì
    làm. Đối với ...
    Chạy Gapi2-codegen
  • Khác »

Ad