শারীরিক স্মৃতির চেয়ে tmpfs বাড়ানো কতটা নিরাপদ?


11

আমার সার্ভারে 2 জিবি র‌্যাম এবং 120 গিগাবাইট এসএসডি রয়েছে, প্লাস সঞ্চয় করার জন্য কিছু RAID অ্যারে রয়েছে। ওএস হ'ল ডেবিয়ান 8 (লিনাক্স 3.16)।

আমার কাছে একটি মাইএসকিউএল তীব্র অ্যাপ্লিকেশন রয়েছে যা tmpdir= /run/mysqld, যা এর tmpfsমাধ্যমে ডেবিয়ান দ্বারা কনফিগার করা হয়েছে /etc/default/tmpfs:

# Size limits.  Please see tmpfs(5) for details on how to configure
# tmpfs size limits.
TMPFS_SIZE=40%VM

এটি ব্যবহৃত হত 20%VM, যা প্রায় 384M। আমি বেশ কয়েকটিয়ের বিরুদ্ধে দৌড়েছি no space left on device, তাই আমি এটিকে আরও বাড়িয়েছি 40%VM, তবে প্রায় 763 এম এর সাথে এটি এখনও খুব ছোট।

এখন আমার এখন আরও র‌্যাম যুক্ত করা উচিত, তবে কৌতূহলের বাইরে আমি এখানে সীমাবদ্ধতাগুলি জানতে চাই।

  • /dev/sdd1মাউন্ট করা /হয়েছে প্রায় 50 গিগাবাইট বিনামূল্যে, এবং মোটামুটি দ্রুত (স্যামসাং 850 ইভিও এসএসডি)
  • /dev/sdd5 আমার অদলবদল, এটি 3.7G (fdisk টাইপ আইডি 82)
  • TMPFS_SIZEসেট করা হয়েছে 40%VM, যার অর্থ /run763M

এখন আমি জানি যে tmpfs অদলবদল করতে পারে, যা আমার পক্ষে ভাল। আমি যখনই সম্ভব মাইএসকিউএলটি র‍্যামে লিখতে চাই, তবে এর যদি আরও মেমরির প্রয়োজন হয় তবে আমি সিস্টেমটিকে এসএসডি-তে এটি অদলবদলের অনুমতি দিতে পারি।

সুতরাং আমার সেটআপের সাহায্যে আমি কি এইরকম চাপ /runদিতে পারি :

  • 300 মি বড়? হ্যাঁ. এটি ডিফল্ট ছিল।
  • 1.5 জিবি বড়? হ্যাঁ, চেষ্টা করে দেখুন, মাইএসকিউএল এতে 1.3 গিগাবাইট পর্যন্ত ব্যবহার করেছে এবং সিস্টেমটি কবজির মতো কাজ করেছে। তবে এটি এখনও অর্ধেকের চেয়ে কম শারীরিক মেমরি + অদলবদল বিভাজন।
  • 2.5 জিবি বড়? এটি শারীরিক মেমরির চেয়ে বেশি তবে শারীরিক মেমরির অর্ধেকেরও কম + আমার অদলবদল।
  • 4 জিবি বড়? এটি শক্তভাবে অর্ধেক শারীরিক + অদলবদলে ফিট হবে fit
  • আরো? 10 জিবি এর মত? এটি /আরও অদলবদলের জন্য মুক্ত স্থান ব্যবহার করতে পারে ?

আমি সুরক্ষার জন্য থাম্বের নিয়মটি অনুমান করছি TMPFS_SIZEযে অদলবদল + অর্ধেক শারীরিক মেমরির চেয়ে বড় না হওয়া। অদলবদল বিভাজন না বাড়িয়ে কি আমি এর বাইরে যেতে পারি?

এছাড়াও, এটা করা সম্ভব 200%VMমধ্যে /etc/default/tmpfs? আমি tmpfs(5)এটি> 100% রাখতে পারি কিনা জেনেও পড়েছি ।

শেষ, আমি কি /etc/fstabপরিবর্তে এটি করা উচিত এবং স্পর্শ না /etc/default/tmpfs?

(আমি কেবল এটি দিয়ে কাজ করেছি mount -o remountতা জানতে পেরে আমি এখনও সার্ভারটি পুনরায় বুট করি নি)

সম্পাদনা: সর্বশেষ প্রশ্নের জন্য, আমি জানি (এটি /etc/fstabম্যান পৃষ্ঠা থেকে নীচে উদ্ধৃতি দেখুন) দ্বারা পরিবর্তন করা যেতে পারে / তবে আমি সেরা অনুশীলনটি জানতে চেয়েছিলাম, কারণ আমি /etc/defaultএখনও পর্যন্ত কোনও কিছুই স্পর্শ করতে পারি নি ।

আরও জটিল মাউন্ট অপশনগুলি / etc / fstab এ উপযুক্ত এন্ট্রি তৈরির মাধ্যমে ব্যবহার করা যেতে পারে।


আকর্ষণীয় প্রশ্ন। আমার ধারণা এটি মেমরির ওভারকমিট সেটিংয়ের সাথেও খুব বেশি জড়িত।
পিএইচকে

দেখে মনে হচ্ছে সর্বাধিক tmpfs আকার দৈহিক + অদলবদল হবে। আমি এটি কার্নেল ডক্সে দেখেছি ।
বেনোইট ডাফেজ

উত্তর:


8

আমি অনুভব করেছি যে আমি এটি পরীক্ষা করতে পারি, তাই আমি দৌড়েছি:

sudo mount -o remount,size=2800M /run

কবজির মতো কাজ করেছেন:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           2.8G   45M  2.7G   2% /run

সুতরাং আমি এটি কিছুটা পূরণ করেছি:

fallocate -l 1G /run/test.img
fallocate -l 1G /run/test2.img
fallocate -l 500M /run/test3.img

ফলাফল:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           2.8G  2.6G  208M  93% /run

সিস্টেম এখনও চলছে এবং চলছে। অদলবদ উপলভ্যতা হ্রাস পেয়েছে, যা প্রমাণ করে যে এটি ব্যবহৃত হয়েছিল:

অদলবদলতা ড্রপ

  • 17:10: 2.5 জিবি ফাইল তৈরি করুন /run
  • 17:20: 500M ফাইলটি সরান

মোট পরিমাণের অদলবদল দ্বারা নেওয়া পরিমাণ হ্রাস পেয়েছে /run

আমি একটি ভিএম-তে 10 গিগাবাইট পরীক্ষা করবো, কারণ কার্নেলটি পুনরায় ছাড়টি অস্বীকার করবে বা কেবল অপ্রত্যাশিত আচরণ করবে কিনা তা আমি জানি না।

আমি এখনও একটি সত্য উত্তর খুঁজছি, কিন্তু বাস্তববাদী উপায় দেখায় যে এটি কাজ করে।

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