ইংরেজিফরাসিস্প্যানিশ

অনওয়ার্কস ফেভিকন

মেমুসেজ - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks ফ্রি হোস্টিং প্রদানকারীতে মেমুসেজ চালান

এটি কমান্ড মেমুসেজ যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


memusage - একটি প্রোগ্রামের প্রোফাইল মেমরি ব্যবহার

সাইনোপিসিস


memusage [পছন্দ] ... কার্যক্রম [প্রোগ্রাম বিকল্প] ...

বর্ণনাঃ


memusage একটি ব্যাশ স্ক্রিপ্ট যা প্রোগ্রামের মেমরি ব্যবহার প্রোফাইল করে, কার্যক্রম। এটা
প্রিলোড করে libmemusage.so কলারের পরিবেশে লাইব্রেরি (এর মাধ্যমে LD_PRELOAD
পরিবেশ সূচক; দেখা ld.so(8))। দ্য libmemusage.so লাইব্রেরি মেমরি বরাদ্দ ট্রেস
কল ইন্টারসেপ্ট করে malloc(২০১১), কলোক(২০১১), বিনামূল্যে(3), এবং realloc(3); ঐচ্ছিকভাবে, কল
থেকে mmap(২০১১), mremap(2), এবং মুনম্যাপ(2) এছাড়াও বাধা দেওয়া যেতে পারে.

memusage সংগৃহীত ডেটা পাঠ্য আকারে আউটপুট করতে পারে বা এটি ব্যবহার করতে পারে memusagestat(1) (দেখুন
দ্য -p বিকল্প, নীচে) এর গ্রাফিকাল উপস্থাপনা ধারণকারী একটি PNG ফাইল তৈরি করতে
সংগৃহীত তথ্য।

স্মৃতি ব্যবহার সংক্ষিপ্ত
দ্বারা "মেমরি ব্যবহারের সারাংশ" লাইন আউটপুট memusage তিনটি ক্ষেত্র রয়েছে:

গাদা মোট
সমষ্টি হল আয়তন সব যুক্তি malloc(3) কল, আর্গুমেন্ট পণ্য
(nmemb*আয়তন) সবগুলো কলোক(3) কল, এবং যোগফল লম্বা সব যুক্তি mmap(2)
কল এর ব্যাপারে realloc(3) এবং mremap(2), যদি একটি নতুন আকার
বরাদ্দ আগের আকারের চেয়ে বড়, এই ধরনের সমস্ত পার্থক্যের যোগফল
(নতুন আকার বিয়োগ পুরানো আকার) যোগ করা হয়.

গাদা শিখর
সব থেকে সর্বোচ্চ আয়তন এর আর্গুমেন্ট malloc(3), এর সমস্ত পণ্য nmemb*আয়তন of
কলোক(3), সব আয়তন এর আর্গুমেন্ট realloc(২০১১), লম্বা এর আর্গুমেন্ট mmap(2), এবং
নতুন_আকার এর আর্গুমেন্ট mremap(2).

গাদা শিখর
যে কোনো মনিটর করা ফাংশনে প্রথম কল করার আগে, স্ট্যাক পয়েন্টার ঠিকানা
(বেস স্ট্যাক পয়েন্টার) সংরক্ষিত হয়। প্রতিটি ফাংশন কলের পরে, প্রকৃত স্ট্যাক
পয়েন্টার ঠিকানা পড়া হয় এবং বেস স্ট্যাক পয়েন্টার থেকে পার্থক্য
গণনা করা এই পার্থক্যের সর্বাধিক হল স্ট্যাক পিক।

অবিলম্বে এই সারাংশ লাইন অনুসরণ, একটি টেবিল নম্বর কল, মোট মেমরি দেখায়
বরাদ্দ করা বা ডিলোকেটেড, এবং প্রতিটি ইন্টারসেপ্টেড ফাংশনের জন্য ব্যর্থ কলের সংখ্যা। জন্য
realloc(3) এবং mremap(2), অতিরিক্ত ক্ষেত্র "nomove" পরিবর্তিত পরিবর্তনগুলি দেখায়
একটি ব্লকের ঠিকানা, এবং অতিরিক্ত "dec" ক্ষেত্রটি পুনরায় বরাদ্দকরণ দেখায় যা হ্রাস পেয়েছে
ব্লকের আকার। জন্য realloc(3), অতিরিক্ত ক্ষেত্র "ফ্রি" পুনঃনির্ধারণ দেখায়
যার কারণে একটি ব্লক মুক্ত করা হয়েছে (অর্থাৎ, পুনরায় বরাদ্দকৃত আকারটি ছিল 0)।

দ্বারা টেবিল আউটপুট এর "realloc/টোটাল মেমরি" memusage যেখানে ক্ষেত্রে প্রতিফলিত হয় না
realloc(3) আগের চেয়ে ছোট আকারের মেমরির একটি ব্লক পুনরায় বরাদ্দ করতে ব্যবহৃত হয়।
এর ফলে সমস্ত "মোট মেমরি" কোষের যোগফল ("ফ্রি" বাদে) এর থেকে বড় হতে পারে
"মুক্ত/মোট মেমরি" সেল।

বারলেখ উন্নত বাধা মাপ
"ব্লক আকারের জন্য হিস্টোগ্রাম" মেমরি বরাদ্দের বিভিন্ন অংশে ভাঙ্গন প্রদান করে
বালতি মাপ

বিকল্প


-n নাম, --প্রোগনাম=নাম
প্রোফাইলে প্রোগ্রাম ফাইলের নাম।

-p ফাইল, --png=ফাইল
PNG গ্রাফিক তৈরি করুন এবং এটি সংরক্ষণ করুন ফাইল.

-d ফাইল, --ডেটা=ফাইল
বাইনারি ডেটা ফাইল তৈরি করুন এবং এটি সংরক্ষণ করুন ফাইল.

-u, --আনবাফার
আউটপুট বাফার করবেন না।

-b আয়তন, --বাফার=আয়তন
সংগ্রহ করা আয়তন তাদের লেখার আগে এন্ট্রি.

--নো-টাইমার
টাইমার-ভিত্তিক নিষ্ক্রিয় (SIGPROF) স্ট্যাক পয়েন্টার মান নমুনা.

-m, --mmap
এছাড়াও ট্রেস mmap(২০১১), mremap(2), এবং মুনম্যাপ(2).

-?, --help
সাহায্য প্রিন্ট করুন এবং প্রস্থান করুন।

-- ব্যবহার
একটি সংক্ষিপ্ত ব্যবহারের বার্তা প্রিন্ট করুন এবং প্রস্থান করুন।

-V, --সংস্করণ
সংস্করণ তথ্য প্রিন্ট করুন এবং প্রস্থান করুন।

নিম্নলিখিত বিকল্পগুলি শুধুমাত্র গ্রাফিকাল আউটপুট তৈরি করার সময় প্রযোজ্য:

-t, --সময় ভিত্তিক
X অক্ষের স্কেল হিসাবে সময় (ফাংশন কলের সংখ্যার পরিবর্তে) ব্যবহার করুন।

-T, -- মোট
এছাড়াও মোট মেমরি ব্যবহারের একটি গ্রাফ আঁকুন।

--শিরোনাম=নাম
ব্যবহার নাম গ্রাফের শিরোনাম হিসাবে।

-x আয়তন, --x-আকার=আয়তন
গ্রাফ তৈরি করুন আয়তন পিক্সেল প্রশস্ত।

-y আয়তন, --y-আকার=আয়তন
গ্রাফ তৈরি করুন আয়তন পিক্সেল উচ্চ।

প্রস্থান করুন স্থিতি


প্রস্থান স্ট্যাটাস প্রোফাইল করা প্রোগ্রামের প্রস্থান অবস্থার সমান।

EXAMPLE টি


নীচে একটি সাধারণ প্রোগ্রাম রয়েছে যা চক্রের মধ্যে মেমরির একটি ব্লককে পুনরায় বরাদ্দ করে যা একটি শিখরে উঠে
তার আগে চক্রাকারে মেমরিকে ছোট ব্লকে পুনরায় বরাদ্দ করা হয় যা শূন্যে ফিরে আসে।
প্রোগ্রামটি কম্পাইল করার পরে এবং নিম্নলিখিত কমান্ডগুলি চালানোর পরে, মেমরির একটি গ্রাফ
প্রোগ্রামের ব্যবহার ফাইলে পাওয়া যাবে memusage.png:

$ memusage --data=memusage.dat ./a.out
...
মেমরি ব্যবহারের সারাংশ: হিপ মোট: 45200, হিপ পিক: 6440, স্ট্যাক পিক: 224
মোট কল মোট মেমরি ব্যর্থ কল
malloc| 1 400 0
realloc| 40 44800 0 (nomove:40, dec:19, free:0)
calloc| 0 0 0
বিনামূল্যে| 1 440
ব্লক আকারের জন্য হিস্টোগ্রাম:
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

কার্যক্রম উৎস
#অন্তর্ভুক্ত
# অন্তর্ভুক্ত

#চক্র 20 সংজ্ঞায়িত করুন

কোন int
প্রধান (int argc, char *argv[])
{
int i, j;
int *p;

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

জন্য (i = 0; i < সাইকেল; i++) {
যদি (আমি < সাইকেল / 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);
}

onworks.net পরিষেবা ব্যবহার করে অনলাইনে মেমসেজ ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

Ad