পরিস্থিতি: Out of Memory
উবুন্টুর মতলব
গোলের ত্রুটিগুলি ঠিক করুন: বাহ্যিক এইচডিডি / এসএসডিতে কিছু ভার্চুয়াল মেমরি এবং / অথবা অদলবদল বরাদ্দ করুন; পঠন / লেখার পরিমাণ 20 জিবিপিএস থেকে 0.1 গিগাবাইটে হ্রাস পেয়েছে, যা ঠিক আছে!
পরিভাষা: এখানে অদলবদল এবং ভার্চুয়াল মেমরি
না, অদলবদল এবং ভার্চুয়াল মেমরি সম্পূর্ণ আলাদা। উদাহরণস্বরূপ, 1 জিবি ফাইল মেমরি ম্যাপিংয়ে অতিরিক্ত 1 গিগাবাইট ভার্চুয়াল মেমরি ব্যবহার করা হয় তবে অদলবদলের ব্যবহারের কোনও পরিবর্তন হয় না। অদলবদল ব্যাকিং স্টোরের একটি রূপ। ভার্চুয়াল মেমরির অনেকগুলি ব্যবহারের ব্যাকিং স্টোরের সাথে কোনও সম্পর্ক নেই। (এবং ভার্চুয়াল মেমরির সাথে এমন কোনও সিস্টেম রয়েছে যা কোনও স্ব্যুপের পাশাপাশি অদলবদলযুক্ত সিস্টেম রয়েছে তবে ভার্চুয়াল মেমরি নেই no)
গ্রাহক হার্ডওয়্যার সীমিত তাই আমার আরও বাহ্যিক মেমরি এবং / অথবা আমার বাহ্যিক এইচডিডি ব্যবহার করতে হবে। মতলব অদলবদলের স্মৃতি সম্পর্কে বলেছেন (ভার্চুয়াল মেমরি বাদ দিয়ে টোডো?)
লিনাক্স সিস্টেম -
mkswap
এবংswapon
কমান্ড ব্যবহার করে আপনার অদলবদল পরিবর্তন করুন ।
সিস্টেমের বৈশিষ্ট্য
আপনি এটি দ্বারা কতটা আছে তা দেখতে পারেন can
swapon -s
Filename Type Size Used Priority /dev/sda3 partition 8326140 0 -1
মতলব এর কনফিগারেশন
% /programming//a/35971040/54964 com.mathworks.services.Prefs.setIntegerPref('JavaMemHeapMax', 2048); % MB % TODO cannot find ways how to put Matlab use /dev/sda3
সুতরাং আপনি দেখতে পাচ্ছেন যে আমার মতলব এটি ব্যবহার করছে না। আমি
Out of Memory
মতলব-এ বড় ম্যাট্রিক নিয়ে ত্রুটি পেয়েছি । আমিreshape
ভেক্টরগুলিতে ম্যাট্রিক লিখতে এবং সমান্তরাল কোড লিখতে ব্যর্থ হয়েছি । সুতরাং আমি ভার্চুয়াল মেমরিটি ব্যবহার করতে চাই কারণ আমার কাজ শেষ করা দরকার; হার কোন ব্যাপার না।
সুডোকোড
- শেল স্ক্রিপ্ট যা একটি সোয়াপ তৈরি করে, ম্যাটল্যাব শুরু করবে, এবং ম্যাটল্যাবটি প্রস্থান করলে সোয়াপ মুছবে। ( মাইকেলহোরম্যান )
- বাহ্যিক এইচডিডি তে অদলবদল সক্ষম করুন।
sudo swapon -a
এখানে কিভাবে ব্যবহার করবেন ? - মতলব শুরু করুন।
- মতলবকে অদলবদল করুন।
- মতলব প্রস্থান করার সময় অদলবদু মুছুন।
অস্থায়ী অদলবদল, রানিং ক্লায়েন্ট এবং ক্লাইজিং / মাইকেল এর স্ক্রিপ্টে অদলবদল অপসারণ
পরিস্থিতি : পরিবেশ স্থাপনের ক্ষেত্রে ত্রুটিগুলি নিয়ন্ত্রণ করতে পারে না (1), মতলব (2) চালানো এবং পরিবেশ বন্ধ করতে (3)
স্ক্রিপ্ট
#!/usr/bin/env bash
# /programming//a/69808/54964
set -e
# TODO How to do swapoff if any error?
SWAP_FILE="/media/masi/SamiSwapVirtual/.swap_file_20.7.2016"
SIZE_MB=16000
TO_RUN="matlab"
dd if="/dev/zero" of=${SWAP_FILE} bs="1M" count=${SIZE_MB} status="progress"
mkswap ${SWAP_FILE}
chmod 0600 ${SWAP_FILE}
sudo chown 0.0 ${SWAP_FILE} # /unix//a/297153/16920
sudo swapon -v ${SWAP_FILE}
echo "Swap enabled. Press enter to continue"; read
${TO_RUN}
echo "I will remove the swap. Press enter to continue"; read
sudo swapoff -v ${SWAP_FILE}
rm -vf ${SWAP_FILE}
ট্রান্সসেন্ড 25 এম 3 1 টিবি সহ আইট্রেশন 1 যেখানে ফাইল সিস্টেম রয়েছে little ext4
স্ক্রিপ্ট শুরু করার পরে লগ হয়
sh start_matlab_with_swap.sh 16000+0 records in 16000+0 records out 16777216000 bytes (17 GB, 16 GiB) copied, 134.489 s, 125 MB/s Setting up swapspace version 1, size = 15.6 GiB (16777211904 bytes) no label, UUID=48c2835b-4499-4534-aa49-0648e15bd5d9 [sudo] password for masi: swapon /media/masi/SamiWeek/tmp/swap_file_18.7.2016 swapon: /media/masi/SamiWeek/tmp/swap_file_18.7.2016: insecure file owner 1000, 0 (root) suggested. swapon: /media/masi/SamiWeek/tmp/swap_file_18.7.2016: found swap signature: version 1d, page-size 4, same byte order swapon: /media/masi/SamiWeek/tmp/swap_file_18.7.2016: pagesize=4096, swapsize=16777216000, devsize=16777216000 Swap enabled. Press enter to continue start_matlab_with_swap.sh: 11: read: arg count
ক্লায়েন্ট চালাচ্ছি
কমান্ডের ইতিহাস মতলবটির প্রথম সূচনায় অদলবদল মেমরির (টিকিট # 02075943) ত্রুটি সহ চলে গেছে - আপনার কমান্ডের ইতিহাস পড়তে সমস্যা হয়েছিল - - । কেবল আপনার মতলব পুনরায় চালু করুন এবং আপনার ডিফল্ট সেটিংস থাকলে সমস্যাটি সমাধান করা হবে। কমান্ড
prefdir
দেয়/home/masi/.matlab/R2016a
যা পূর্বনির্ধারিত অবস্থান (/home/{username}/.matlab/R2016a
। ফাইল/home/masi/.matlab/R2016a/matlab.prf
পুনরায় আরম্ভের পরে এখানে উপস্থিত আছে ।... [অন্যান্য ত্রুটি] ...
মাতলাব বন্ধ করে আবার টার্মিনালে পাসওয়ার্ড টাইপ করা
[sudo] password for masi: swapoff /media/masi/SamiWeek/tmp/swap_file_18.7.2016 [ bugs here! ]
উন্মুক্ত: এখানে ত্রুটি ট্র্যাপিংয়ের আরও ভাল ত্রুটি-পরিচালনা কীভাবে প্রয়োগ করবেন? উত্সে উদাহরণের জন্য আমার স্ক্রিপ্ট দেখুন। থ্রেড ত্রুটি / সতর্কতা হলে কীভাবে ত্রুটি-ফাঁদে ফেলা এবং স্বঅফফ করবেন?
স্থায়ী অদলবদল = চলমান ক্লায়েন্ট থেকে পৃথক অদলবদল সেটআপ
অদলবদল সেট আপ করা হচ্ছে
# /unix//q/297767/16920
masi@masi:~$ sudo fallocate -l 20G /mnt/.swapfile
masi@masi:~$ sudo mkswap /mnt/.swapfile
Setting up swapspace version 1, size = 20 GiB (21474832384 bytes)
no label, UUID=45df9e48-1760-47e8-84d7-7a14f56bbd72
masi@masi:~$ sudo swapon /mnt/.swapfile
swapon: /mnt/.swapfile: insecure permissions 0644, 0600 suggested.
masi@masi:~$ sudo chmod 600 /mnt/.swapfile
masi@masi:~$ free -m
total used free shared buff/cache available
Mem: 7925 1494 175 196 6255 5892
Swap: 28610 0 28610
/etc/fstab
স্থায়ী পরিবর্তনের জন্য নিম্নলিখিতটি রাখুন
# /unix//a/298212/16920
# /unix//a/298543/16920
# If swap is on SSD, trim blocks each time at startup.
#/mnt/.swapfile none swap defaults,discard 0 0
# If swap on External HDD, just use sw.
/media/masi/SamiWeek/.swapfile none swap sw 0 0
সিস্টেম: লিনাক্স উবুন্টু 16.04 64 বিট
লিনাক্স কার্নেল: 4.6
লিনাক্স কার্নেল বিকল্পগুলি:
ডাব্লুএল মতলব: 2016a
অফিশিয়াল মতলব ডক্স: "মেমরির আউট" ত্রুটিগুলি সমাধান করুন
বহিরাগত এইচডিডি: 1 টিবি স্টোরজেট 25 এম 3 পর্যালোচনা ছাড়ুন , 2 টিবি স্টোরজেট 25M3
বহিরাগত এইচডিডি ফাইল সিস্টেমটি ছাড়ুন : ext4
বাহ্যিক এইচডিডি বাফার: 8 এমবি
সম্পর্কিত থ্রেড: উবুন্টুতে ম্যাটল্যাব মেমরির সীমাবদ্ধতা কীভাবে বাড়ানো যায়? (এমএটিসপ্প, এমএটিএলবি'র জন্য স্বপন কীভাবে ব্যবহার করবেন?) , মতলব কীভাবে শারীরিক স্মৃতি বৃদ্ধি করবেন? , মতলব-এ স্মৃতি ত্রুটির সমাধান কীভাবে করবেন? , 10800x10800 ম্যাট্রিক্সের জন্য মাতলাবে মেমরির ত্রুটিটি কীভাবে ঠিক করবেন? ,মতলব আর ২০১২ বিতে আমি কীভাবে মেমরির সীমা বাড়িয়ে তুলতে পারি (সামগ্রিক পাশাপাশি সামগ্রিক)? , অ্যারে ব্লক কীভাবে বাড়ানো যায় এবং মতলব 2009 বি-তে মেমরির ত্রুটিটি সমাধান করা যায়? , মতলব একটি ছোট পরিবর্তনশীল জন্য এই আউট অফ মেমরি ইস্যুর সমাধান কিভাবে? , মতলব-এ 'মেমরি অফ আউট'। একটি ধীর কিন্তু স্থায়ী সমাধান?