ພາສາອັງກິດພາສາຝຣັ່ງແອສປາໂຍນ

Ad


OnWorks favicon

memusage - ອອນລາຍໃນຄລາວ

ເປີດໃຊ້ memusage ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີຜ່ານ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ນີ້ແມ່ນເຄື່ອງບັນທຶກຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator

ໂຄງການ:

NAME


memusage - ການ​ນໍາ​ໃຊ້​ຄວາມ​ຊົງ​ຈໍາ profile ຂອງ​ໂຄງ​ການ​

ສະຫຼຸບສັງລວມ


memusage [ທາງເລືອກ] ... ໂຄງການ [ໂປຣແກມ] ...

ລາຍລະອຽດ


memusage ເປັນສະຄິບ bash ທີ່ໂປຣໄຟລ໌ການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາຂອງໂຄງການ, ໂຄງການທີ່ຢູ່ ມັນ
preloads ໄດ້ libmemusage.so ຫ້ອງສະຫມຸດເຂົ້າໄປໃນສະພາບແວດລ້ອມຂອງຜູ້ໂທ (ຜ່ານ LD_PRELOAD
ສະພາບແວດລ້ອມປ່ຽນແປງ; ເບິ່ງ ດັ່ງນັ້ນ(8)). ໄດ້ libmemusage.so ຫ້ອງສະຫມຸດຕິດຕາມການຈັດສັນຫນ່ວຍຄວາມຈໍາ
ໂດຍການຂັດຂວາງການໂທໄປຫາ ສູນການຄ້າ(3) ໂທກ(3) ຟຣີ(3) ແລະ realloc(3); ທາງເລືອກ, ໂທ
to ແຜນທີ່(2) mremap(2) ແລະ ແຜນທີ່(2) ຍັງສາມາດຂັດຂວາງໄດ້.

memusage ສາ​ມາດ​ອອກ​ຂໍ້​ມູນ​ທີ່​ເກັບ​ກໍາ​ຂໍ້​ມູນ​ໃນ​ຮູບ​ແບບ​ຂໍ້​ຄວາມ​, ຫຼື​ມັນ​ສາ​ມາດ​ນໍາ​ໃຊ້​ memusagestat(1) (ເບິ່ງ
ໄດ້ -p ທາງ​ເລືອກ​, ຂ້າງ​ລຸ່ມ​ນີ້​) ເພື່ອ​ສ້າງ​ໄຟລ​໌ PNG ທີ່​ມີ​ຮູບ​ພາບ​ຕົວ​ແທນ​ຂອງ​
ເກັບກໍາຂໍ້ມູນ.

ຫນ່ວຍຄວາມຈໍາ ການນໍາໃຊ້ ສະ​ຫຼຸບ​ສັງ​ລວມ
ເສັ້ນ "ສະຫຼຸບການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາ" ອອກໂດຍ memusage ປະກອບມີສາມຊ່ອງຂໍ້ມູນ:

ຂີ້ເຫຍື້ອ ຈໍານວນທັງຫມົດ
ລວມຂອງ ຂະຫນາດ ການໂຕ້ຖຽງຂອງທັງຫມົດ ສູນການຄ້າ(3) ໂທ, ຜະລິດຕະພັນຂອງການໂຕ້ຖຽງ
(nmemb*ຂະຫນາດ) ຂອງທັງ ໝົດ ໂທກ(3) ໂທ, ແລະຜົນລວມຂອງ ຄວາມຍາວ ການໂຕ້ຖຽງຂອງທັງຫມົດ ແຜນທີ່(2​)
ໂທ. ໃນກໍລະນີຂອງ realloc(3) ແລະ mremap(2), ຖ້າຂະຫນາດໃຫມ່ຂອງ an
ການຈັດສັນແມ່ນໃຫຍ່ກວ່າຂະຫນາດທີ່ຜ່ານມາ, ຜົນລວມຂອງຄວາມແຕກຕ່າງດັ່ງກ່າວທັງຫມົດ
(ຂະຫນາດໃຫມ່ລົບຂະຫນາດເກົ່າ) ຖືກເພີ່ມ.

ຂີ້ເຫຍື້ອ ຈຸດສູງ
ສູງສຸດທັງໝົດ ຂະຫນາດ ການໂຕ້ຖຽງຂອງ ສູນການຄ້າ(3), ຜະລິດຕະພັນທັງຫມົດຂອງ nmemb*ຂະຫນາດ of
ໂທກ(3), ທັງຫມົດ ຂະຫນາດ ການໂຕ້ຖຽງຂອງ realloc(3) ຄວາມຍາວ ການໂຕ້ຖຽງຂອງ ແຜນທີ່(2) ແລະ
new_size ການໂຕ້ຖຽງຂອງ mremap(2).

stack ຈຸດສູງ
ກ່ອນທີ່ຈະໂທຫາຄັ້ງທໍາອິດກັບຫນ້າທີ່ຕິດຕາມໃດໆ, ທີ່ຢູ່ stack pointer
(ຕົວຊີ້ຖານ stack) ຖືກບັນທຶກໄວ້. ຫຼັງຈາກການໂທແຕ່ລະຫນ້າທີ່, stack ຕົວຈິງ
ທີ່ຢູ່ຕົວຊີ້ຖືກອ່ານແລະຄວາມແຕກຕ່າງຈາກຕົວຊີ້ stack ພື້ນຖານ
ຄິດໄລ່. ສູງສຸດຂອງຄວາມແຕກຕ່າງເຫຼົ່ານີ້ແມ່ນຫຼັງຈາກນັ້ນສູງສຸດ stack.

ທັນທີປະຕິບັດຕາມເສັ້ນສະຫຼຸບນີ້, ຕາຕະລາງສະແດງໃຫ້ເຫັນການໂທຈໍານວນ, ຫນ່ວຍຄວາມຈໍາທັງຫມົດ
ການຈັດສັນຫຼືການຈັດສັນ, ແລະຈໍານວນການໂທທີ່ລົ້ມເຫລວສໍາລັບແຕ່ລະຫນ້າທີ່ຂັດຂວາງ. ສໍາລັບ
realloc(3) ແລະ mremap(2), ພາກສະຫນາມເພີ່ມເຕີມ "nome" ສະແດງໃຫ້ເຫັນການຈັດສັນທີ່ມີການປ່ຽນແປງ
ທີ່ຢູ່ຂອງຕັນ, ແລະພາກສະຫນາມ "dec" ເພີ່ມເຕີມສະແດງໃຫ້ເຫັນການຈັດສັນທີ່ຫຼຸດລົງ
ຂະຫນາດຂອງຕັນ. ສໍາລັບ realloc(3), ພາກສະຫນາມເພີ່ມເຕີມ "ຟຣີ" ສະແດງໃຫ້ເຫັນການຈັດສັນ
ທີ່ເຮັດໃຫ້ຕັນຖືກປົດປ່ອຍ (ເຊັ່ນ, ຂະຫນາດທີ່ຖືກຈັດສັນແມ່ນ 0).

"realloc/total memory" ຂອງຕາຕະລາງຜົນຜະລິດໂດຍ memusage ບໍ່ສະທ້ອນໃຫ້ເຫັນກໍລະນີທີ່
realloc(3) ຖືກນໍາໃຊ້ເພື່ອຈັດສັນພື້ນທີ່ຂອງຫນ່ວຍຄວາມຈໍາໃຫ້ມີຂະຫນາດຂະຫນາດນ້ອຍກວ່າກ່ອນຫນ້ານີ້.
ນີ້ສາມາດເຮັດໃຫ້ຜົນລວມຂອງຈຸລັງ "ຫນ່ວຍຄວາມຈໍາທັງຫມົດ" (ບໍ່ລວມ "ຟຣີ") ມີຂະຫນາດໃຫຍ່ກວ່າ.
ຕາລາງ "ຟຣີ/ຄວາມຈຳທັງໝົດ".

Histogram ສໍາລັບການ block ຂະຫນາດ
"Histogram ສໍາລັບຂະຫນາດຕັນ" ສະຫນອງການແບ່ງສ່ວນການຈັດສັນຫນ່ວຍຄວາມຈໍາເປັນປະເພດຕ່າງໆ
ຂະໜາດຖັງ.

OPTIONS


-n ຊື່, --progname=ຊື່
ຊື່ຂອງໄຟລ໌ໂຄງການກັບໂປຣໄຟລ໌.

-p ເອກະສານ, --png=ເອກະສານ
ສ້າງກາຟິກ PNG ແລະເກັບໄວ້ໃນ ເອກະສານ.

-d ເອກະສານ, --data=ເອກະສານ
ສ້າງໄຟລ໌ຂໍ້ມູນ binary ແລະເກັບໄວ້ໃນ ເອກະສານ.

-u, -- unbuffered
ຢ່າເກັບຜົນຜະລິດ.

-b ຂະຫນາດ, --buffer=ຂະຫນາດ
ເກັບ ຂະຫນາດ ລາຍການກ່ອນທີ່ຈະຂຽນພວກມັນອອກ.

-- ບໍ່ມີໂມງຈັບເວລາ
ປິດ​ການ​ໃຊ້​ງານ​ຕາມ​ການ​ຈັບ​ເວ​ລາ (SIGPROF) ການເກັບຕົວຢ່າງຂອງຄ່າຕົວຊີ້ stack.

-m, --mmap
ຍັງຕິດຕາມ ແຜນທີ່(2) mremap(2) ແລະ ແຜນທີ່(2).

-?, - ຊ່ວຍ
ພິມການຊ່ວຍເຫຼືອແລະອອກ.

-- ການ​ນໍາ​ໃຊ້​
ພິມຂໍ້ຄວາມການນຳໃຊ້ສັ້ນ ແລະອອກ.

-V, - ການປ່ຽນແປງ
ພິມຂໍ້ມູນສະບັບແລະອອກ.

ທາງ​ເລືອກ​ດັ່ງ​ຕໍ່​ໄປ​ນີ້​ໃຊ້​ໄດ້​ພຽງ​ແຕ່​ໃນ​ເວ​ລາ​ທີ່​ຜະ​ລິດ​ຜົນ​ຜະ​ລິດ​ຮູບ​ພາບ​:

-t, -- ອີງ​ຕາມ​ເວ​ລາ​
ໃຊ້ເວລາ (ແທນທີ່ຈະເປັນຈໍານວນການເອີ້ນຟັງຊັນ) ເປັນຂະຫນາດສໍາລັບແກນ X.

-T, -- ທັງໝົດ
ນອກຈາກນັ້ນ, ແຕ້ມເສັ້ນສະແດງຂອງການນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາທັງຫມົດ.

--title=ຊື່
ການນໍາໃຊ້ ຊື່ ເປັນຫົວຂໍ້ຂອງກາຟ.

-x ຂະຫນາດ, --x-size=ຂະຫນາດ
ເຮັດກາຟ ຂະຫນາດ pixels ກວ້າງ.

-y ຂະຫນາດ, --y-size=ຂະຫນາດ
ເຮັດກາຟ ຂະຫນາດ pixels ສູງ.

ອອກ STATUS


ສະຖານະການອອກແມ່ນເທົ່າກັບສະຖານະການອອກຂອງໂປແກມ profiled.

EXAMPLE


ຂ້າງລຸ່ມນີ້ແມ່ນໂຄງການທີ່ງ່າຍດາຍທີ່ຈະຈັດສັນພື້ນທີ່ຂອງຄວາມຊົງຈໍາໃນຮອບວຽນທີ່ເພີ່ມຂຶ້ນເຖິງຈຸດສູງສຸດ
ກ່ອນໜ້ານັ້ນ ໝູນວຽນໜ່ວຍຄວາມຈຳໃນທ່ອນໄມ້ນ້ອຍໆທີ່ກັບຄືນສູ່ສູນ.
ຫຼັງຈາກລວບລວມໂຄງການແລະແລ່ນຄໍາສັ່ງຕໍ່ໄປນີ້, ເສັ້ນສະແດງຂອງຫນ່ວຍຄວາມຈໍາ
ການນໍາໃຊ້ໂຄງການສາມາດພົບເຫັນຢູ່ໃນໄຟລ໌ memusage.png:

$ memusage --data=memusage.dat ./a.out
...
ສະຫຼຸບການນຳໃຊ້ໜ່ວຍຄວາມຈຳ: ທັງໝົດ heap: 45200, heap peak: 6440, stack peak: 224
ການ​ໂທ​ທັງ​ຫມົດ​ຫນ່ວຍ​ຄວາມ​ຈໍາ​ທັງ​ຫມົດ​ໂທ​ທີ່​ບໍ່​ສໍາ​ເລັດ​
malloc| 1 400 0
realloc| 40 44800 0 (ຊື່: 40, ເດືອນທັນວາ: 19, ຟຣີ: 0)
calloc| 0 0 0
ຟຣີ| 1 440
Histogram ສໍາລັບຂະຫນາດຕັນ:
192-207 1 2% ================
...
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% ================
$ memusagestat memusage.dat memusage.png

ໂຄງການ ແຫຼ່ງ
#ລວມ
# ປະກອບ

#ກໍານົດ CYCLES 20

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

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

ສໍາລັບ (i = 0; i < CYCLES; i++) {
ຖ້າ (i < CYCLES / 2)
j = i;
ອື່ນ
j--;

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));
}

ຟຣີ(p);
ອອກ(EXIT_SUCCESS);
}

ໃຊ້ memusage ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net


ເຊີບເວີ ແລະສະຖານີເຮັດວຽກຟຣີ

ດາວໂຫຼດແອັບ Windows ແລະ Linux

  • 1
    VBA-M (ເກັບໄວ້ - ຕອນນີ້ຢູ່ໃນ Github)
    VBA-M (ເກັບໄວ້ - ຕອນນີ້ຢູ່ໃນ Github)
    ໂຄງການໄດ້ຍ້າຍໄປ
    https://github.com/visualboyadvance-m/visualboyadvance-m
    ຄຸນ​ລັກ​ສະ​ນະ: Cheat creationsave statesmulti
    ລະບົບ, ສະຫນັບສະຫນູນ gba, gbc, gb, sgb,
    sgb2Tu...
    ດາວໂຫລດ VBA-M (ເກັບໄວ້ - ຕອນນີ້ຢູ່ໃນ Github)
  • 2
    Stacer
    Stacer
    Linux System Optimizer ແລະການຕິດຕາມ
    Github Repository:
    https://github.com/oguzhaninan/Stacer.
    ຜູ້ຊົມ: ຜູ້ໃຊ້ສຸດທ້າຍ/ເດັສທັອບ. ຜູ້ໃຊ້
    ການໂຕ້ຕອບ: Qt. ການຂຽນໂປລແກລມ La...
    ດາວໂຫລດ Stacer
  • 3
    ໝາກກ້ຽງ
    ໝາກກ້ຽງ
    Fork ຂອງ TeamWinRecoveryProject(TWRP)
    ມີຫນ້າທີ່ເພີ່ມເຕີມຈໍານວນຫຼາຍ, ການອອກແບບໃຫມ່
    ແລະຄຸນສົມບັດເພີ່ມເຕີມ: ຮອງຮັບ Treble ແລະ
    ROMs ທີ່ບໍ່ແມ່ນ Treble ໃໝ່ຫຼ້າສຸດ Oreo kernel,
    ສ້າງ...
    ດາວໂຫລດ OrangeFox
  • 4
    itop - ITSM CMDB OpenSource
    itop - ITSM CMDB OpenSource
    ປະ​ຕູ​ປະ​ຕິ​ບັດ​ການ IT​: ເປັນ​ການ​ເປີດ​ຄົບ​ຖ້ວນ​ສົມ​ບູນ​
    ແຫຼ່ງ, ITIL, ການບໍລິການທີ່ອີງໃສ່ເວັບ
    ເຄື່ອງ​ມື​ການ​ຄຸ້ມ​ຄອງ​ລວມ​ທັງ​ຫມົດ​
    CMDB ທີ່ສາມາດປັບແຕ່ງໄດ້, ລະບົບ helpdesk ແລະ
    ຜູ້​ຊາຍ​ເອ​ກະ​ສານ ...
    ດາວໂຫລດເທິງ - ITSM CMDB OpenSource
  • 5
    Clementine
    Clementine
    Clementine ເປັນດົນຕີຫຼາຍເວທີ
    ຜູ້ນແລະຜູ້ຈັດຫ້ອງສະຫມຸດໄດ້ຮັບການດົນໃຈໂດຍ
    Amarok 1.4. ມັນ​ມີ​ໄວ​ແລະ​
    ການ​ໂຕ້​ຕອບ​ງ່າຍ​ທີ່​ຈະ​ນໍາ​ໃຊ້​, ແລະ​ອະ​ນຸ​ຍາດ​ໃຫ້​ທ່ານ​
    ຄົ້ນຫາແລະ ...
    ດາວໂຫລດ Clementine
  • 6
    XISMus
    XISMus
    ເອົາ​ໃຈ​ໃສ່​: ການ​ປັບ​ປຸງ​ສະ​ສົມ 2.4.3 ມີ​
    ປ່ອຍອອກມາ!! ການປັບປຸງເຮັດວຽກສໍາລັບການໃດໆ
    ຮຸ່ນ 2.xx ທີ່ຜ່ານມາ. ຖ້າການຍົກລະດັບ
    ຈາກເວີຊັນ v1.xx, ກະລຸນາດາວໂຫຼດ ແລະ
    ຂ້າພະເຈົ້າ ...
    ດາວໂຫລດ XISMuS
  • ເພີ່ມເຕີມ »

Linux ຄຳ ສັ່ງ

Ad