"প্রতিধ্বনি 3> / proc / sys / vm / ড্রপ_ক্যাচস" - মূল হিসাবে অনুমতি অস্বীকার করা হয়েছে


26

আমি বর্তমানে ক্যাশে নিয়ে কিছু সমস্যা করছি। এখনই এটি কিছুটা বেশি তাই আমি এটি পরিষ্কার করতে চেয়েছিলাম। আমি googled এবং এই সামান্য কমান্ড পাওয়া যায়নি: sync && echo 3 > /proc/sys/vm/drop_caches
আমি এসএসএইচ এর ওপরে রুট হিসাবে লগ ইন করছি (sudo ব্যবহার করে না)। এই চেষ্টা আমি করেছি:

root@server: ~ # ll /proc/sys/vm/drop_caches
-rw-r--r-- 1 root root 0 15. Jan 20:21 /proc/sys/vm/drop_caches

root@server: ~ # echo 3 > /proc/sys/vm/drop_caches
-bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
bash: /proc/sys/vm/drop_caches: Permission denied

root@server: ~ # echo 3 | sudo tee /proc/sys/vm/drop_caches
tee: /proc/sys/vm/drop_caches: Permission denied
3

এটি ডেবিয়ান চলমান একটি রিমোট মেশিন। আমি যতদূর জানি এই মেশিনে কিছু ভিসিওর রয়েছে এবং এটি ভার্চুয়ালাইজেশনের জন্য ভার্চুওজো ব্যবহার করে।
আমি সত্যিই কেবল ক্যাশেটি সাফ করতে চাই (সুতরাং আমি কেবল এসএসএইচ ব্যবহার করে এটি অ্যাক্সেস করতে পারি)
আমি এটি ক্রোনজব হিসাবে নিবন্ধিত করার চেষ্টা করেছি। তবে এটি খুব ব্যর্থ হয়!


1
আপনি কি এটি রুট হিসাবে চালাচ্ছেন বা আপনি ব্যবহার করছেন sudo?
টেরডন

2
আমি এটিকে মূল হিসাবে চালাচ্ছি। তবে সুডোও ব্যর্থ হয়।
ব্রেইনস্টোন

কাজ করে না। ইতিমধ্যে এটি চেষ্টা করে। একই ত্রুটি বার্তা।
ব্রেইনস্টোন

এই প্রশ্নে স্ল্যাম এর এ দেখুন , এটি সাহায্য করতে পারে।
রিস্তো সালমিনেন

এটি অত্যন্ত অসম্ভব, তবে আপনি কখনই জানেন না, /proc/sys/vm/drop_cachesআসলে কী বিদ্যমান?
টেরডন

উত্তর:


27

আমি এসএসএইচ এর ওপরে মূল হিসাবে লগ ইন করেছি ... এটি ডেবিয়ান চালিত একটি রিমোট মেশিন।

এটি কি আসলে একটি রিমোট মেশিন, বা কেবল একটি দূরবর্তী সিস্টেম ? যদি এটি কোথাও কোনও ভিপিএস স্লাইস হয় তবে (কমপক্ষে কিছু ফর্মের) ওএস ভার্চুয়ালাইজেশন (যেমন ওপেনভিজেড) কনটেইনার থেকে এটিকে অনুমতি দেবে না। আপনি মেশিন চালান না, আপনি কেবল আপনার টুকরা চালান।


2
কোন উপায় মত ???
ব্রেইনস্টোন

1
সম্ভবত না, যেহেতু বিকল্প পদ্ধতিতে কাজ করা যদি এটির অনুমতি না দেওয়ার পক্ষে খুব বেশি কিছু থাকত না।
স্বর্ণলোক

2
@ ব্রেনস্টোন - আমি ওপেনভিজেড ব্যবহার করি, এটি সম্ভব নয়!
slm

36

sudo পুরো পুনঃনির্দেশটি আবরণ করতে হবে যাতে এটি সম্পূর্ণরূপে রুট দ্বারা সম্পাদন করা যায়:

$ sudo sh -c "/usr/bin/echo 3 > /proc/sys/vm/drop_caches"

5
এটি আসলে আমার জন্য কাজ করেছিল (প্রতিধ্বনের জন্য সঠিক বাইনারি অবস্থানের সাথে)
orm


1
বিকল্পভাবে, আপনি পরিবর্তে টি ব্যবহার করতে পারেন:echo 3 | sudo tee /proc/sys/vm/drop_caches
এমচিড

1
@ মিচিড, উত্তর হিসাবে আপনার মন্তব্য যুক্ত বিবেচনা করুন। এটি আমার পক্ষে অ্যাজুরে ভিএম-তেও কাজ করেছিল।
এরিক শিল্টস

এটি ইতিমধ্যে রুট, লাইনের শুরুতে # দেখুন। সুডোর সাথে ইস্যুটি লক্ষণীয়, তবে অন্য একটি প্রশ্নের জন্য।
আলেক্সি মার্টিয়ানোভ

13

এটি ওএস-স্তরের ভার্চুয়ালাইজেশনের অধীনে স্বাভাবিক আচরণ। এটি কেবলমাত্র হার্ডওয়্যার নোডে রুট অ্যাক্সেস সহ কেউই সম্পাদন করতে পারেন।

উদাহরণস্বরূপ ওপেনভিজেডের সাহায্যে , আপনি নিজের কার্নেল উদাহরণ পাবেন না এবং এর মতো আদেশগুলি সঞ্চালন থেকে বিরত থাকে।

সব ভাগ একই পৃষ্ঠায় ক্যাশে, তাই শুধুমাত্র আপনার অনুরোধের ক্যাশে ড্রপ, কার্নেল পৃষ্ঠা আপনার জন্যে যদি চেক করতে হবে এবং যদি অন্য দৃষ্টান্ত খুব এই পৃষ্ঠা ব্যবহার করছেন না।

কেভিএম বা জেনের মতো আরও একটি ভার্চুয়ালাইজেশন কৌশলটির সাথে এটি কাজ করছে।


1
সুতরাং আমার জন্য ক্যাশে সাফ করার জন্য আমি কি আমার হোস্টারের সাথে যোগাযোগ করতে পারি? এবং কীভাবে আমার সিস্টেমে "ভার্চুয়ালাইজেশন কৌশল" চালু আছে তা আবিষ্কার করব?
ব্রেইনস্টোন

হ্যাঁ, আপনি এটিকে ঘিরে আসতে পারেন না ...
বিশৃঙ্খলা

এটি ঠিক থাকলে আমি শিউর নেই। আমি কয়েকটা ভিএম চালিয়ে যাচ্ছি এক্স এবং জেন এবং আমি ড্রপ_ক্যাচ করতে সক্ষম।

2
পার্থক্যটি ওএস ভার্চুয়ালাইজেশন (ওপেনভিজেড, এলএক্সসি) এবং প্ল্যাটফর্ম ভার্চুয়ালাইজেশন (কিউইএমইউ, জেন) এর মধ্যে রয়েছে, উভয়েরই সুবিধাগুলি এবং অপরটি বনাম রয়েছে।
স্বর্ণলোক 21

1
@ বিবার্স জেন ভিএমগুলির জন্য একটি নিজস্ব কার্নেল ব্যবহার করে। ওপেনজেড না। আপনি ওপেনভিজেডকে আরও ভাল "ক্রুট" এর মতো ভাবতে পারেন।
নীল

8

যখন আপনাকে রুট হিসাবে প্রতিধ্বনিত করা দরকার তখন যথাযথ অনুমতি প্রয়োজন echoহতে sudo teeআপনি পাইপ ব্যবহার করতে পারেন ।

echo 3 | sudo tee /proc/sys/vm/drop_caches

tee --helpআরও বিকল্প তালিকাতে ব্যবহার করুন।


1

sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"

এই আদেশটি আমার /usr/bin/echoপক্ষে মিচিড উত্তর না দিয়ে কাজ করে। এটি ত্রুটি দিচ্ছিল sh: 1: /usr/bin/echo: not found। সুতরাং শুধুমাত্র 'প্রতিধ্বনি' ব্যবহৃত


-1

আমি সুডো ব্যবহার করার চেষ্টা করার সময় আমার একই সমস্যা ছিল:

sudo echo 1 > /proc/sys/vm/overcommit_memory

আমার সমাধানটি ছিল সাময়িকভাবে রুটে স্যুইচ করা। অবাকভাবে, সেই অনুমতিটি আপনার সিস্টেমে সক্ষম করতে হবে:

sudo su -  #temporarily switch to root user
echo 1 > /proc/sys/vm/overcommit_memory
exit # Exit as root.  

-2

ওপেনস্ট্যাক সহ একটি স্মাইলার ভিএম সেটিংস ব্যবহার করে এবং এটি কাজ করে (ডিবিয়ান চলছে):

sync && sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.