অস্থায়ী ডিরেক্টরি হিসাবে `/ run / shm` (পূর্বে dev / dev / shm`) ব্যবহার করুন


9

/run/shm(পূর্বে /dev/shm) একটি ডিরেক্টরি তৈরি করা এবং এটি কোনও অ্যাপ্লিকেশনের জন্য একটি টেম্প ডিরেক্টরি হিসাবে ব্যবহার করা কি ভাল অনুশীলন ?

পটভূমি: আমি এমন একটি প্রোগ্রামের জন্য ব্ল্যাক বক্স পরীক্ষা লিখছি যা ফাইল এবং ডিরেক্টরি সহ প্রচুর স্টাফ করে। প্রতিটি পরীক্ষার জন্য আমি প্রচুর ফাইল এবং ডিরেক্টরি তৈরি করি এবং তারপরে প্রোগ্রামটি চালিত করি এবং তারপরে ফাইল এবং ডিরেক্টরিগুলির প্রত্যাশিত সেটটি তৈরি করি এবং তারপরে তুলনা করার জন্য ডিফারেন্ট চালাই। আমার এখন প্রায় 40 টি পরীক্ষা রয়েছে এবং তারা ইতিমধ্যে চালাতে 2 সেকেন্ডেরও বেশি সময় নিচ্ছে। জিনিসের গতি বাড়ানোর আশায় আমি কোনও ডিরেক্টরিতে র্যামডিস্কের ডিরেক্টরিতে পরীক্ষা চালাতে চাই।

র‌্যাম ডিস্ক সম্পর্কে গবেষণা করে আমি একটি প্রশ্নের উত্তর দিয়ে হোঁচট খেয়েছি যে একটি ডিরেক্টরি তৈরি করা /dev/shmএবং এটি একটি টেম্প ডিরেক্টরি হিসাবে ব্যবহার করা ঠিক আছে । আরও কিছু গবেষণা করার পরে আমি ডেবিয়ান থেকে একটি উইকি পৃষ্ঠাতে হোঁচট খেয়েছি যে এটি /dev/shmসরাসরি ব্যবহার করতে গেলে একটি ত্রুটি । আমি shm_*ফাংশন ব্যবহার করা উচিত । দুর্ভাগ্যক্রমে shm_*ফাংশনগুলি শেল স্ক্রিপ্টে ব্যবহারের জন্য উপলব্ধ নয় বলে মনে হচ্ছে।

আমি এখন বিভ্রান্ত টেম্প ডিরেক্টরি হিসাবে /run/shm(পূর্বে /dev/shm) ব্যবহার না করা ঠিক আছে কি না ?


হ্যাঁ, অনেক ব্যবহারকারী /tmpভাগ করা মেমরিতেও মাউন্ট করেন।
এডি_ইএম

আমি /tmpএটি আরও শব্দার্থক কল্পনা করব । যদি আপনার ব্যবহারকারীদের কাছে /dev/shmজিনিসগুলির গতি বাড়ানোর জন্য অস্থায়ী ফাইলগুলি ব্যবহার করার জন্য পর্যাপ্ত পরিমাণে র্যাম থাকে তবে তারা এটি সেখানে মাউন্ট করবেন। তবে যদি তাদের পর্যাপ্ত পরিমাণে র্যাম না থাকে এবং এটি মাউন্ট করা তাদের কম্পিউটারকে অদলবদল ফাইলগুলি ব্যবহার করতে বাধ্য করে তাদের কম্পিউটারকে ধীর করে দেয়, তবে তারা আরও গুরুত্বপূর্ণ জিনিসগুলির জন্য তাদের র‌্যাম সংরক্ষণ করবে এবং /tmpফাইল সিস্টেমের জন্য সাধারণ ডিস্কের স্থান ব্যবহার করবে । অন্য কথায়, /tmpআরও সুর্য।
জ্যাক

উত্তর:


10

/runযতক্ষণ না আপনার উপর যথাযথ অধিকার রয়েছে ততক্ষণ কোনও ডিরেক্টরি ব্যবহার করা পুরোপুরি ঠিক । কিছু আধুনিক ডিস্ট্রোজে /tmpইতিমধ্যে মেমরিতে ভার্চুয়াল ফাইল সিস্টেম বা ভিতরে থাকা ডিরেক্টরিতে একটি সিমিলিংক /run। যদি এটি আপনার ক্ষেত্রে হয় (আপনি এটি পরীক্ষা করতে /etc/fstabবা টাইপ mtabকরতে পারেন), আপনি /tmpনিজের অস্থায়ী ডিরেক্টরি হিসাবে ব্যবহার করতে পারেন ।

এছাড়াও, দেবিয়ান থেকে নিবন্ধটি নিয়ে বিভ্রান্ত হবেন না। shm_*ইন্টার-প্রসেস যোগাযোগের জন্য ভাগ করা মেমরি বিভাগগুলি তৈরি করতে ফাংশনগুলি ব্যবহৃত হয়। এই ফাংশনগুলির সাথে, আপনি একই তথ্য ব্যবহার করে যোগাযোগ বা সহযোগিতা করতে দুটি বা আরও বেশি প্রক্রিয়াগুলির মধ্যে মেমরির একটি অংশ ভাগ করতে পারেন। প্রক্রিয়াগুলির নিজস্ব ঠিকানা স্থানে মেমরির অংশ রয়েছে এবং এটি যথারীতি সেখানে পড়তে এবং লিখতে পারে। কার্নেলটি জটিলতার সাথে কাজ করে। এই ফাংশনগুলি শেল ফাংশন হিসাবে উপলভ্য নয় (এবং এটি শেল প্রসঙ্গে খুব কার্যকর হবে না)। আরও তথ্যের জন্য, একবার দেখুন man 7 shm_overview। নিবন্ধটির মূল বিষয় হ'ল কোনও প্রোগ্রামের ভাগ করা অংশগুলিকে উপস্থাপনকারী সিউডো-ফাইলগুলি সরাসরি পরিচালনা করা উচিত নয়, পরিবর্তে ভাগ করা মেমরি বিভাগগুলি তৈরি করতে, সংযুক্ত করতে এবং মুছতে উপযুক্ত ফাংশনগুলি ব্যবহার করা উচিত।


2
নীচের সবচেয়ে উপযুক্ত জায়গা /runহতে পারে /run/user/${UID}/
পল ফেনি

1
প্রকৃতপক্ষে, আমার সিস্টেমে পালসওডিও এবং সিস্টেমে পিড ফাইলের মতো কিছু ফাইল ইনস্টল করে। তবে, / টিএমপি অস্থায়ী ফাইলগুলির জন্য আমার পছন্দসই অবস্থান হবে।
লার্জ

2
@ পলফেনি: / চালান / ব্যবহারকারী / $ ইউআইডি $ এক্সডিজি_আরন্টিমE_DIR
ব্যবহারকারী 2394284
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.