কীভাবে 90% ফ্রি মেমোরি পূরণ করবেন?


181

আমি কিছু নিম্ন-সংস্থান পরীক্ষা করতে চাই এবং তার জন্য আমার ফ্রি মেমরির 90% পূর্ণ থাকতে হবে।

আমি কীভাবে এটি *nixসিস্টেমে করতে পারি ?


3
আসলেই কি কোনও * নিক্স সিস্টেমে কাজ করতে হবে ?
একটি সিভিএন

31
পাট ভর্তি মেমরির পরিবর্তে, আপনি কি এর পরিবর্তে কোনও ভিএম তৈরি করতে পারেন (ডকার, বা ভ্যাব্র্যান্ট, বা অনুরূপ কিছু) যা সীমিত পরিমাণে স্মৃতি রয়েছে?
abendigo

4
@ অ্যাবেেন্ডিগো কোন কিউএর জন্য এখানে উপস্থাপিত অনেকগুলি সমাধান কার্যকর: সাধারণ উদ্দেশ্যে ওএস নির্দিষ্ট প্ল্যাটফর্ম ব্যতীত ভিএম বা কার্নেল বুট প্যারামিটারগুলি কার্যকর হতে পারে তবে এমবেডেড সিস্টেমের জন্য যেখানে আপনি জানেন টার্গেট করা সিস্টেমটির মেমরির বিশদকরণ আমি জানি ফ্রি মেমরি ভরাট জন্য যান।
এডুয়ার্ড ফ্লোরিয়েন্সু

2
এখানে অন্য কেউ যদি স্কোরিং দেখে কিছুটা হতবাক হয় তবে: মেটা.ইনিক্স.স্ট্যাকেক্সেঞ্জিং :: প্রশ্নগুলি / ১৫১13/২ ?
স্বর্ণিলকস

উত্তর:


156

স্ট্রেস-এনজি হ'ল একটি কাজের চাপ জেনারেটর যা পসিক্স সিস্টেমে সিপিইউ / মেমি / আইও / এইচডিডি স্ট্রেস অনুকরণ করে। এই কলটির লিনাক্স <3.14: এ কৌশলটি করা উচিত

stress-ng --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1

লিনাক্স> = 3.14 এর জন্য, আপনি MemAvailableঅদলবদল ছাড়াই নতুন প্রক্রিয়াগুলির জন্য উপলব্ধ মেমরি অনুমান করার পরিবর্তে ব্যবহার করতে পারেন :

stress-ng --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1

/ / ইত্যাদি /proc/meminfoসহ কলটি অভিযোজিত করুন । আপনার যদি এটি পোর্টেবল দরকার হয়free(1)vm_stat(1)


3
স্ট্রেস --vm-bytes $ (awk '/ MemFree / {printf "% d \ n", $ 2 * 0.097;}' </ proc / meminfo) k --vm-keep -m 10
রবার্ট

1
বেশিরভাগ মেমফ্রি ওএস দ্বারা রাখা হয়, সুতরাং আমি এর পরিবর্তে মেমোভ্যাবল ব্যবহার করি used এটি আমাকে সেন্ট ওএসে 92% ব্যবহার দিয়েছেstress --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.98;}' < /proc/meminfo)k --vm-keep -m 1
কুজি

জানা ভাল, MemAvailable "কত স্মৃতি নতুন অ্যাপ্লিকেশন শুরু, সোয়াপিং ছাড়া জন্য উপলব্ধ হিসেব" যোগ করা হয়েছে, দেখতে git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/ … এবং git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/…
tkrennwa

1
একটি যুক্ত নোট হিসাবে, উভয় প্রদান --vm 1 and --vm-keepখুব গুরুত্বপূর্ণ। কেবল --vm-bytesকিছুই করে না এবং আপনার মনে ভ্রান্ত হতে পারে যে আপনি যতটা মেমরি প্রয়োজন / চান তা বরাদ্দ করতে পারেন। আমি 256G মেমরির বরাদ্দের মাধ্যমে নিজেকে স্যানিটি করার চেষ্টা না করা পর্যন্ত আমি এর দ্বারা সামান্যই পেলাম। এটি উত্তরের কোনও ত্রুটি নয়, এটি সঠিক পতাকাগুলি সরবরাহ করে, কেবল একটি অতিরিক্ত সতর্কতা।
ffledgling

এই কারণেই আছে -m 1। স্ট্রেস -m N--vm NNmalloc()/free()
ম্যানপেজ

92

আপনি malloc()প্রয়োজনীয় মেমোরিতে একটি সি প্রোগ্রাম লিখতে পারেন এবং তারপরে mlock()মেমরিটি সরে যাওয়ার হাত থেকে রোধ করতে ব্যবহার করতে পারেন।

তারপরে প্রোগ্রামটিকে কীবোর্ড ইনপুটটির জন্য অপেক্ষা করতে দিন এবং মেমরিটিকে আনলক করুন, মেমরিটি মুক্ত করুন এবং প্রস্থান করুন।


25
অনেক দিন আগে আমাকে অনুরূপ ব্যবহারের ক্ষেত্রে পরীক্ষা করতে হয়েছিল। আমি পর্যবেক্ষণ করেছি যে আপনি সেই স্মৃতিতে কিছু না লিখে আসলে এটি বরাদ্দ দেওয়া হবে না (অর্থাত্ পৃষ্ঠা ত্রুটি না হওয়া পর্যন্ত)। মোলক () এর যত্ন নেবে কিনা তা আমি নিশ্চিত নই।
পূর্না

2
আমি @ সিরির সাথে একমত হই; তবে আপনি কোন বৈকল্পিক ইউনিক্স ব্যবহার করছেন তা নির্ভর করে।
অ্যান্টনি

2
কোডটির জন্য কিছু অনুপ্রেরণা । তদুপরি, আমি মনে করি আপনার মেমরিটি আনলক / মুক্ত করার দরকার নেই । আপনার প্রক্রিয়াটি শেষ হয়ে গেলে ওএস আপনার জন্য এটি করতে চলেছে।
সেবাস্তিয়ান

9
আপনাকে সম্ভবত মেমোরিতে লিখতে হবে, কার্নেলটি কেবলমাত্র কমল করলেই কেবল কমপ্লেট করতে পারে। এতে কনফিগার করা থাকলে, যেমন লিনাক্স মেমোরিটি মুক্ত না করে মেলোককে সাফল্যের সাথে ফিরে আসতে দেয়, এবং লিখিত হওয়ার পরে কেবল মেমরিটিকে বরাদ্দ দেয়। Win.tue.nl/~aeb/linux/lk/lk-9.html
ফ্রুন্ড-হানসেন

7
@ সেবাস্তিয়ান: callocএকই সমস্যা আইআইআরসি চালানো হবে। সমস্ত স্মৃতি কেবল একই পঠনযোগ্য শূন্য পৃষ্ঠায় নির্দেশ করবে। আপনি এটি লেখার চেষ্টা না করা পর্যন্ত এটি আসলে বরাদ্দ পাবে না (এটি কেবল পঠনযোগ্য হওয়ার কারণে এটি কাজ করবে না)। আমি জানি যে সত্যই নিশ্চিত হওয়ার একমাত্র উপায় হ'ল memsetসম্পূর্ণ বাফারটি করা। আরও তথ্যের জন্য নীচের উত্তরটি দেখুন stackoverflow.com/a/2688522/713554
লিও

45

আমি সীমিত মেমরির সাথে একটি ভিএম চালনা এবং হোস্ট মেশিনে মেমরি ভরাট করার চেষ্টা করার চেয়ে আরও কার্যকর পরীক্ষা হবে বলে সফটওয়্যারটি পরীক্ষা করার পরামর্শ দেব।

এই পদ্ধতিটিরও সুবিধা রয়েছে যে কম স্মৃতি পরিস্থিতি যদি অন্য কোথাও ওওএম ত্রুটিগুলির কারণ হয়ে থাকে এবং পুরো ওএস হ্যাং করে থাকে তবে আপনি কেবল নিজের মেশিনে পরীক্ষা না করে যে ভিএম পরীক্ষা করছেন সেটি আপনার অন্যান্য কার্যকর প্রক্রিয়া চলতে পারে hang

এছাড়াও যদি আপনার পরীক্ষাগুলি সিপিইউ বা আইও নিবিড় না হয়, আপনি একই সাথে বিভিন্ন কম মেমরির আকারের ভিএমএসের পরিবারে পরীক্ষার উদাহরণগুলি চালিয়ে যেতে পারেন।


31

এই এইচএন মন্তব্য থেকে: https://news.ycombinator.com/item?id=6695581

কেবল ডিডি বা অনুরূপ মাধ্যমে / ডিভ / এসএম পূরণ করুন।

swapoff -a
dd if=/dev/zero of=/dev/shm/fill bs=1k count=1024k

8
সমস্ত * নিক্সের / dev / shm নেই। আর কোনও বহনযোগ্য ধারণা?
টাদিউস এ। কাদুউবস্কি

যদি pvইনস্টল করা থাকে তবে এটি গণনাটি দেখতে সহায়তা করে:dd if=/dev/zero bs=1024 |pv -b -B 1024 | dd of=/dev/shm/fill bs=1024
ওথিয়াস

1
আপনি যদি গতি চান, এই পদ্ধতিটি সঠিক পছন্দ! কারণ এটি সেকেন্ডের ক্ষেত্রে কাঙ্ক্ষিত পরিমাণের র‍্যাম বরাদ্দ করে। / Dev / urandom এ রিলে করবেন না, এটি আপনার 100% সিপিইউ ব্যবহার করবে এবং আপনার র‌্যাম বড় হলে কয়েক মিনিট সময় নেবে। YET, / dev / shm এর আধুনিক উবুন্টু / ডেবিয়ান ডিস্ট্রোসে আপেক্ষিক আকার রয়েছে, এটির আকার একটি দৈহিক র্যামের 50% এর ডিফল্ট। আশা করি আপনি পুনরায় মাউন্ট / ডেভ / এসএম করতে পারেন বা একটি নতুন মাউন্ট পয়েন্ট তৈরি করতে পারেন। এটি নিশ্চিত করুন যে এটির আসল আকার আপনি বরাদ্দ করতে চান has
ডিভেলকুই

30
  1. চালান লিনাক্স;
  2. mem=nn[KMG]কার্নেল বুট পরামিতি সহ বুট করুন

(বিশদটির জন্য লিনাক্স / ডকুমেন্টেশন / কার্নেল-পরামিতিগুলি দেখুন। টেক্সট)


24

আপনি মৌলিক গনুহ সরঞ্জাম আছে (যদি sh, grep, yesএবং head) আপনি এটা করতে পারেন:

yes | tr \\n x | head -c $BYTES | grep n
# Protip: use `head -c $((1024*1024*2))` to calculate 2MB easily

এটি কাজ করে কারণ গ্রেপটি র‍্যামে সম্পূর্ণ লাইন ডেটা লোড করে দেয় (ডিস্কের চিত্রটি গ্রেপ করার সময় আমি এটি দুর্ভাগ্যজনক উপায়ে শিখেছি)। লাইন, দ্বারা উত্পন্ন yes, প্রতিস্থাপন নতুন লাইন, অসীম দীর্ঘ হবে, কিন্তু দ্বারা সীমাবদ্ধ headকরতে $BYTESবাইট, এইভাবে, grep মেমরি $ BYTES লোড করা হবে। গ্রেপ নিজেই আমার জন্য 100-200 কেবি ব্যবহার করে, আপনাকে আরও সুনির্দিষ্ট পরিমাণের জন্য এটি বিয়োগ করতে হতে পারে।

আপনি যদি কোনও সময়ের সীমাবদ্ধতা যোগ করতে চান তবে এটি bash( সহজেই কাজ করবে না sh) এতে বেশ সহজেই করা যেতে পারে :

cat <(yes | tr \\n x | head -c $BYTES) <(sleep $NumberOfSeconds) | grep n

<(command)জিনিস সামান্য পরিচিত হবে বলে মনে হয় কিন্তু প্রায়ই অত্যন্ত দরকারী, এটা আরও তথ্য এখানে: http://tldp.org/LDP/abs/html/process-sub.html

তারপরে cat: ব্যবহারের catজন্য বাইরে না আসা পর্যন্ত ইনপুটগুলি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে এবং পাইপগুলির একটি খোলা রেখে এটি গ্রেপকে বাঁচিয়ে রাখবে।

আপনার যদি থাকে pvএবং ধীরে ধীরে র‌্যাম ব্যবহার বাড়িয়ে দিতে চান:

yes | tr \\n x | head -c $BYTES | pv -L $BYTESPERSEC | grep n

উদাহরণ স্বরূপ:

yes | tr \\n x | head -c $((1024*1024*1024)) | pv -L $((1024*1024)) | grep n

প্রতি সেকেন্ডে 1 এমবি হারে একটি গিগাবাইট পর্যন্ত ব্যবহার করবে। একটি যুক্ত বোনাস হিসাবে, pvআপনাকে এখনকার ব্যবহারের হার এবং মোট ব্যবহার দেখাবে। অবশ্যই এটি পূর্বের রূপগুলি দিয়েও করা যেতে পারে:

yes | tr \\n x | head -c $BYTES | pv | grep n

কেবলমাত্র | pv |অংশটি সন্নিবেশ করাতে আপনি বর্তমান অবস্থা (থ্রুপুট এবং মোট, ডিফল্টরূপে দেখিয়ে দেবেন) আমি মনে করি - অন্যথায় লোকটি (ইউয়াল) পৃষ্ঠাটি দেখুন।


অন্য উত্তর কেন? গৃহীত উত্তরটি প্যাকেজ ইনস্টল করার পরামর্শ দেয় (আমি বাজি ধরছি যে প্রতিটি চিপসেটের জন্য প্যাকেজ পরিচালকের প্রয়োজন ছাড়াই একটি রিলিজ রয়েছে); শীর্ষে ভোট দেওয়া উত্তর একটি সি প্রোগ্রাম সংকলন করার পরামর্শ দেয় (আপনার লক্ষ্য প্ল্যাটফর্মের জন্য সংকলন করার জন্য আমার কাছে একটি সংকলক বা সরঞ্জামচেন ইনস্টল করা হয়নি); দ্বিতীয় শীর্ষ ভোটের উত্তরে একটি ভিএম-তে অ্যাপ্লিকেশন চালানোর পরামর্শ দেওয়া হয়েছে (হ্যাঁ আমাকে কেবল এই ফোনের অভ্যন্তরীণ এসডকার্ডটি ইউএসবি বা কোনও কিছুর উপর দিয়ে ডিডি করুন এবং একটি ভার্চুয়ালবক্স চিত্র তৈরি করুন); তৃতীয়টি বুট সিকোয়েন্সে এমন কিছু পরিবর্তন করার পরামর্শ দেয় যা র্যামটি পছন্দমতো পূরণ করে না; চতুর্থটি কেবলমাত্র এ পর্যন্ত কাজ করে যতক্ষণ / dev / shm মাউন্টপয়েন্ট (1) বিদ্যমান এবং (2) বৃহত্তর (পুনঃনির্মাণের মূল প্রয়োজন); পঞ্চম নমুনা কোড ছাড়াই উপরের অনেকগুলি একত্রিত করে; ষষ্ঠটি একটি দুর্দান্ত উত্তর তবে আমার নিজের পদ্ধতির সাথে আসার আগে আমি এই উত্তরটি দেখিনি, সুতরাং আমি ভেবেছিলাম যে আমি নিজের নিজস্ব যুক্ত করব, কারণ এটি মনে রাখার জন্য বা টাইপ করা সংক্ষিপ্ত কারণ যদি আপনি দেখতে না পান যে এই ঝিল্লির লাইনটি আসলে বিষয়টির কর্কট; সপ্তম আবার প্রশ্নের উত্তর দেয় না (পরিবর্তে একটি প্রক্রিয়া সীমাবদ্ধ করতে ulimit ব্যবহার করে); অষ্টমটি আপনাকে অজগরটি ইনস্টল করার চেষ্টা করে; নবম মনে করে আমরা সবাই খুব অবাস্তব এবং শেষ পর্যন্ত দশম নিজের সি ++ প্রোগ্রাম লিখেছিল যা শীর্ষ ভোটের উত্তরের মতো একই সমস্যার কারণ হয়ে দাঁড়ায়।


সুন্দর সমাধান। কেবল বিচলিততাটি হ'ল নির্মাণের প্রস্থান কোড 1 কারণ গ্রেপ কোনও মিল খুঁজে পায় না। স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 6550484 /… এর সমাধানগুলির কোনওটিই এটি ঠিক করে নি বলে মনে হচ্ছে।
হোলার ব্র্যান্ডেল

@ হোলারব্রান্ডল ভাল পয়েন্ট, আমি কীভাবে এটি ঠিক করব জানি না। এই প্রথম আমি শুনেছি set -e, তাই আমি সবেমাত্র কিছু শিখলাম :)
লু

Shell সেকেন্ডগুলি শেল শুরু হওয়ার পর থেকে এটির পরিবর্তনশীল একটি বিল্ট ভেরিয়েবলের থেকে ভাল পছন্দ বলে মনে হয় না। দেখতে tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_02.html
হোলগার Brandl

@ হোলারব্রান্ডল ভাল ক্যাচ, আমি এটি জানতাম না। কিন্ডা বর্তমানে 3 মিলিয়ন সেকেন্ডের জন্য খোলা টার্মিনালটি সন্ধান করতে শীতল: ডি। আমি পোস্ট আপডেট।
লুক

কুল কৌশল! time yes | tr \\n x | head -c $((1024*1024*1024*10)) | grep n(10 জিআইবি মেমরি ব্যবহার করুন) 1 মিনিট 46 সেকেন্ড সময় নেয়। Github.com/julman99/eatmemory এ জুলমান ৯ এর ডায়েটমোমরি প্রোগ্রামটি চালাতে 6 সেকেন্ড সময় লাগে। ... ভাল, প্লাস ডাউনলোড এবং সংকলনের সময়, তবে এটি কোনও সমস্যা ছাড়াই সংকলিত হয়েছে ... এবং খুব দ্রুত ... আমার RHEL6.4 মেশিনে। তবুও, আমি এই সমাধানটি পছন্দ করি। চাকা পুনরুদ্ধার কেন?
মাইক এস

18

আমি আমার ডটফাইলে অনুরূপ কিছু করার জন্য একটি ফাংশন রাখি। https://github.com/sagotsky/.dotfiles/blob/master/.functions#L248

function malloc() {
  if [[ $# -eq 0 || $1 -eq '-h' || $1 -lt 0 ]] ; then
    echo -e "usage: malloc N\n\nAllocate N mb, wait, then release it."
  else 
    N=$(free -m | grep Mem: | awk '{print int($2/10)}')
    if [[ $N -gt $1 ]] ;then 
      N=$1
    fi
    sh -c "MEMBLOB=\$(dd if=/dev/urandom bs=1MB count=$N) ; sleep 1"
  fi
}

1
এটি সর্বোত্তম সমাধান আইএমএইচও, কারণ এটির জন্য মূলত কেবলমাত্র ডিডি প্রয়োজন, অন্য সমস্ত জিনিস কোনও শেলের মধ্যেই কাজ করা যায়। নোট করুন যে এটি কমপক্ষে অস্থায়ীভাবে ডেটা উত্পাদিত ডেটার চেয়ে দ্বিগুণ মেমরির দাবি করে। ডেবিয়ান 9, ড্যাশ 0.5.8-2.4 এ পরীক্ষিত। আপনি যদি মেমব্লব অংশটি চালানোর জন্য ব্যাশ ব্যবহার করেন তবে এটি সত্যিই ধীর হয়ে যায় এবং ডিডি যে পরিমাণ পরিমাণ উত্পাদন করে তার চেয়ে চারগুণ ব্যবহার করে।
P.Péter

16

কীভাবে অজস্র একটি সহজ সমাধান?

#!/usr/bin/env python

import sys
import time

if len(sys.argv) != 2:
    print "usage: fillmem <number-of-megabytes>"
    sys.exit()

count = int(sys.argv[1])

megabyte = (0,) * (1024 * 1024 / 8)

data = megabyte * count

while True:
    time.sleep(1)

7
এটি সম্ভবত দ্রুত অদলবদল হয়ে যাবে, মেমরির চাপের উপর খুব কম প্রকৃত প্রভাব ফেলবে (যদি আপনি সমস্ত অদল বদল না করেন যা সাধারণত কিছুটা সময় নেয়)
জোচিম সৌর

1
র‌্যাম উপলব্ধ থাকাকালীন কোনও ইউনিক্স অদলবদল করবে কেন? এটি যখন প্রয়োজন হয় তখন ডিস্ক ক্যাশে উচ্ছেদ করার প্রকৃতপক্ষে একটি প্রশংসনীয় উপায়।
আলেকজান্ডার শ্যাচব্লিকিন

@ আলেকজান্ডারশেচব্লিকিন এই প্রশ্নটি ডিস্ক ক্যাশে উচ্ছেদ সম্পর্কে নয় (যা পারফরম্যান্স পরীক্ষার জন্য দরকারী তবে স্বল্প সংস্থান পরীক্ষার জন্য নয়)।
গিলস

1
এই সমাধানটি আমার পরীক্ষাগুলিতে একটি গিগ বা দু'জনকে বাঁধতে কাজ করেছিল, যদিও আমি আমার স্মৃতিতে চাপ দেওয়ার চেষ্টা করিনি। তবে, জোয়াচিমসৌয়ার, কেউ সম্ভবত 1024 ভিএম.মিন_ফ্রি_কিবিটস সেট sysctl vm.swappiness=0এবং সেট করতে পারে I আমি চেষ্টা করে দেখিনি, তবে ডকস বলেছে যে এভাবেই আপনি বদলের দ্রুততা নিয়ন্ত্রণ করেন ... আপনার হওয়া উচিত আপনার মেশিনে OOM অবস্থার কারণ হিসাবে এটি আসলেই বেশ ধীর করতে সক্ষম। দেখুন kernel.org/doc/Documentation/sysctl/vm.txt এবং kernel.org/doc/gorman/html/understand/understand005.html
মাইক এস

1GB এর জন্য কেবল একটি লাইনার: পাইথন-সি "এক্স = (1 * 1024 * 1024 * 1024/8) * (0,); কাঁচা_পিন্ড ()"
অ্যাড্রিয়ানলজ্ট

10

র‌্যামফস যদি এটি বিদ্যমান থাকে তবে কীভাবে? এটি মাউন্ট এবং একটি বড় ফাইল অনুলিপি? যদি কোনও /dev/shmএবং কোনও র‌্যাম্ফ না থাকে - আমি একটি ছোট সি প্রোগ্রাম অনুমান করি যা কিছু ইনপুট মানের উপর ভিত্তি করে একটি বড় ম্যালোক করে? অনেকগুলি মেমরির সাথে 32 বিট সিস্টেমে একবারে এটি কয়েকবার চালাতে হতে পারে।


8

আপনি যদি সীমাবদ্ধ মেমরির সাথে কোনও নির্দিষ্ট প্রক্রিয়াটি পরীক্ষা করতে চান তবে ulimitবরাদ্দযোগ্য মেমরির পরিমাণ সীমাবদ্ধ করে ব্যবহার করে আপনি ভাল হতে পারেন ।


2
আসলে এটি লিনাক্সে (অন্যান্য * নিক্স সম্পর্কে ডুনো) কাজ করে না। man setrlimit:RLIMIT_RSS Specifies the limit (in pages) of the process's resident set (the number of virtual pages resident in RAM). This limit only has effect in Linux 2.4.x, x < 30, and there only affects calls to madvise(2) specifying MADV_WILLNEED.
প্যাট্রিক

4

আমি মনে করি এটি সর্বাধিক সৃজনশীল উত্তরের জন্য প্রতিযোগিতায় লোকেরা ভুল প্রশ্ন জিজ্ঞাসা এবং বোকামি জিজ্ঞাসা করার ঘটনা। আপনার যদি কেবল ওওএম শর্তগুলি অনুকরণ করার প্রয়োজন হয় তবে আপনার স্মৃতি পূরণ করার দরকার নেই। কেবলমাত্র একটি কাস্টম বরাদ্দকারী ব্যবহার করুন এবং নির্দিষ্ট সংখ্যক বরাদ্দের পরে এটি ব্যর্থ হয়ে যান। এই পদ্ধতিটি এসকিউএলাইটের জন্য যথেষ্ট ভাল কাজ করে বলে মনে হচ্ছে ।


3

আমি এটির জন্য এই ছোট্ট সি ++ প্রোগ্রামটি লিখেছি: https://github.com/rmetzger/dynamic-ballooner

এই প্রয়োগের সুবিধা হ'ল মেমরিটি ফ্রি বা পুনরায় বরাদ্দ করার প্রয়োজন হয় কিনা তা পর্যায়ক্রমে পরীক্ষা করা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.