স্নো চিতাবাঘের একটি ডেডিকেটেড পার্টিশনে স্ব্যালিফলগুলি সরানো হচ্ছে


31

আমি এখনও অবধি আমার হার্ড ড্রাইভের আপেলের ভার্চুয়াল মেমরি স্যুপফিলগুলি একটি ডেডিকেটেড পার্টিশনে স্থানান্তরিত করতে সক্ষম হয়েছি। আমি যে কৌশলটি ব্যবহার করছি সেগুলি ফোরামেস.ম্যাকোসেক্সটিন ডটকমের একটি থ্রেডে বর্ণিত ।

তবে স্নো চিতাবাঘের বিকাশকারী পূর্বরূপ সহ, এই পদ্ধতিটি আর কাজ করে না। নতুন ওএস দিয়ে কীভাবে এটি করা যেতে পারে তা কি কেউ জানেন?

আপডেট: আমি dblu এর উত্তরটিকে গ্রহণযোগ্য হিসাবে চিহ্নিত করেছি যদিও এটি বেশ কার্যকর হয়নি যদিও তিনি দুর্দান্ত, বিস্তারিত নির্দেশনা দিয়েছেন এবং কারণ তাঁর ব্যবহারের পরামর্শটি plutilশেষ পর্যন্ত আমাকে সঠিক দিকে নির্দেশ করেছিল। সম্পূর্ণ, কার্যক্ষম সমাধান এখানে প্রশ্নে পোস্ট করা হয়েছে কারণ গ্রহণযোগ্য উত্তর সম্পাদনা করার মতো যথেষ্ট খ্যাতি আমার নেই।

আপডেট # 2: একল এর কৌশলটি চিত্রিত করার পদ্ধতি পরিবর্তন করেছে , যা একটি মধ্যবর্তী শেল স্ক্রিপ্টের প্রয়োজনীয়তা বাদ দিয়ে পুরো জিনিসটি ব্যাপকভাবে সরল করে তোলে :

সম্পূর্ণ সমাধান:

1. টার্মিনালটি খুলুন এবং অ্যাপলের ডিফল্ট ডায়নামিক_পেজ.পি.লিস্টের একটি ব্যাকআপ কপি করুন:

$ cd /System/Library/LaunchDaemons
$ sudo cp com.apple.dynamic_pager.plist{,_bak}

2. প্লাস্টটিকে বাইনারি থেকে প্লেইন এক্সএমএলে রূপান্তর করুন:

$ sudo plutil -convert xml1 com.apple.dynamic_pager.plist

3. আপনার পছন্দের পাঠ্য সম্পাদকের সাথে রূপান্তরিত প্লিস্টটি খুলুন। (আমি ব্যবহার করি pico, উদাহরণস্বরূপ ব্যবহার করে ডিবিলুর উত্তর দেখুন vim):

$ sudo pico -w com.apple.dynamic_pager.plist

এটি নিম্নলিখিত হিসাবে দেখতে হবে:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs$
<plist version="1.0">
<dict>
    <key>EnableTransactions</key>
    <true/>
    <key>HopefullyExitsLast</key>
    <true/>
    <key>Label</key>
    <string>com.apple.dynamic_pager</string>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/sbin/dynamic_pager</string>
        <string>-F</string>
        <string>/private/var/vm/swapfile</string>
    </array>
</dict>
</plist>

4.ডায়নামিক_পাজার চালু করার আগে ওয়েটপথথ শেল কমান্ড ( জিলজির পরামর্শ অনুসারে ) ব্যবহার করতে প্রোগ্রামআরগমেন্টস অ্যারে (13 থেকে 18 টি লাইন) সংশোধন করুন । কেন এটি প্রয়োজনীয় তা বিশদ জানতে নোট # 1 দেখুন। নিম্নলিখিত উদাহরণে, আমার পার্টিশনটিকে 'অদলবদল' বলা হয়, এবং আমি সেই পার্টিশনের একটি লুকানো ডিরেক্টরিতে স্বাপফায়ালগুলি রাখার জন্য বেছে নিয়েছিলাম, '.vm' বলে নিশ্চিত হয়ে নিন যে আপনি যে ডিরেক্টরিটি নির্দিষ্ট করেছেন সেটি আসলেই আছে । এক্সএমএলটি নীচে দেখতে হবে:

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>/bin/wait4path /Volumes/Swap/ &amp;&amp;
/sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
</array>

5. প্লিস্টটি সংরক্ষণ করুন এবং টার্মিনাল প্রম্পটে ফিরে আসুন। picoকমান্ডগুলি ব্যবহার করে :

<ctrl+o> to save the file
<enter>  to accept the same filename (com.apple.dynamic_pager.plist)
<ctrl+x> to exit

6. পরিবর্তিত প্লাস্টিকে পুনরায় বাইনারি রূপান্তর করুন:

$ sudo plutil -convert binary1 com.apple.dynamic_pager.plist

7.আপনার ম্যাকটি পুনরায় চালু করুন। আপনি যদি সমস্যায় পড়ে থাকেন তবে স্টার্টআপ চিমের তত্ক্ষণাত কমান্ড-ভি ধরে ধরে ভারবোজ স্টার্টআপ মোডে স্যুইচ করুন। এটি আপনাকে স্টার্টআপের সময় উপস্থিত সমস্ত প্রারম্ভিক বার্তাগুলি দেখতে দেবে। আপনি যদি আরও খারাপ সমস্যায় পড়েন (যেমন আপনি লগইন স্ক্রিনটি কখনও দেখেন না), পরিবর্তে কমান্ড-গুলি ধরে রাখুন। এটি কম্পিউটারটিকে একক-ব্যবহারকারী মোডে বুট করবে (কোন গ্রাফিকাল ইউআই, কেবল একটি কমান্ড প্রম্পট নয়) এবং আপনি com.apple.dynamic_pager.plist এর ব্যাকআপ অনুলিপি পুনরুদ্ধার করতে দেবেন যা আপনি পদক্ষেপ 1 এ করেছেন in

8. কম্পিউটার বুট হয়ে গেলে টার্মিনালটি ফায়ার আপ করুন এবং স্যুপের ফাইলগুলি আসলে স্থানান্তরিত হয়েছে তা যাচাই করুন:

$ cd /Volumes/Swap/.vm
$ ls -l

আপনার এমন কিছু দেখা উচিত:

-rw-------  1 someUser  staff  67108864 18 Sep 12:02 swapfile0

9. পুরানো সোয়াফিলগুলি মুছুন:

$ cd /private/var/vm
$ sudo rm swapfile*

10. লাভ!

নোট 1

প্লিস্টে ব্যবহার wait4pathনা করে ডায়ামিক_পাগারে আর্গুমেন্টগুলি পরিবর্তন করা সর্বদা কার্যকর হয় না এবং যখন এটি ব্যর্থ হয়, এটি দর্শনীয়ভাবে নিঃশব্দে এটি করে। সমস্যাটি ডায়নামিক_প্যাজারটি প্রারম্ভিক প্রক্রিয়াটির খুব প্রথম দিকে চালু হওয়া থেকে উদ্ভূত হয়। ডায়নামিক_পাগারটি প্রথম লোড হওয়ার পরে যদি আপনার অদলবদলের পার্টিশনটি এখনও মাউন্ট করা না হয়ে থাকে (আমার অভিজ্ঞতায়, এটি 99% সময়ের মধ্যে ঘটে) তবে সিস্টেমটি এর মাধ্যমে নকল হবে। এটি আপনার / ভলিউম ডিরেক্টরিতে একটি সিম্বলিক লিঙ্ক তৈরি করবে যা আপনার সোয়াপ পার্টিশনের মতো একই নাম রয়েছে তবে এটি ডিফল্ট স্বাপফাইলে অবস্থান (/ প্রাইভেট / ভার / ভিএম) এর দিকে নির্দেশ করে। তারপরে, যখন আপনার আসল অদলবদলটি মাউন্ট করবে তখন নাম Swap 1(বা YourDriveName 1) দেওয়া হবে । আপনি টার্মিনালটি খোলার মাধ্যমে এবং আপনার / ভলিউম ডিরেক্টরিটির বিষয়বস্তু তালিকাভুক্ত করে সমস্যাটি দেখতে পাচ্ছেন:

$ cd /Volumes
$ ls -l

আপনি এরকম কিছু দেখতে পাবেন:

drwxrwxrwx  11 yourUser  staff   442 16 Sep 12:13 Swap -> private/var/vm
drwxrwxrwx  14 yourUser  staff     5 16 Sep 12:13 Swap 1 
lrwxr-xr-x   1 root      admin     1 17 Sep 12:01 System -> /

মনে রাখবেন যে এই ব্যর্থতাটি সনাক্ত করা খুব কঠিন হতে পারে । আমি যদি ধাপ 12-এ দেখায় আপনি যদি স্বাপফাইলে পরীক্ষা করে দেখেন তবে আপনি সেগুলি দেখতে পাবেন ! প্রতীকী লিঙ্কটি এটিকে দেখে মনে হবে যেন আপনার সোয়াফিলগুলি সরানো হয়েছিল, যদিও সেগুলি আসলে ডিফল্ট স্থানে সঞ্চিত ছিল।

নোট 2

আমি মূলত স্নো চিতাবাঘে এটির কাজ করতে পারিনি কারণ com.apple.dynamic_pager.plist বাইনারি ফর্ম্যাটে সংরক্ষণ করা হয়েছিল। আমি মূল ফাইলটির একটি অনুলিপি তৈরি করেছি এবং এ্যাপেলের সম্পত্তি তালিকা সম্পাদকের সাথে এটি খুললাম (এক্সকোডের সাথে উপলব্ধ) পরিবর্তন করার জন্য, তবে এই প্রক্রিয়াটি প্লাস্ট ফাইলটিতে কিছু বর্ধিত বৈশিষ্ট্য যুক্ত করেছে যার ফলে সিস্টেম এটিকে উপেক্ষা করে এবং কেবলমাত্র ডিফল্টগুলি ব্যবহার করে । ডিবিলু যেমন উল্লেখ করেছে, plutilফাইলটিকে প্লেইন এক্সএমএলে রূপান্তর করতে একটি কবিতার মতো কাজ করে।

নোট 3

স্ক্রিনে ডায়নামিক_পাগার_ইনিত যে কোনও বার্তা দেখতে আপনি কনসোল অ্যাপ্লিকেশনটি চেক করতে পারেন। আপনি যদি নীচের লাইনগুলি বারবার বারবার দেখতে পান তবে সেটআপে সমস্যা আছে। আমি এই বার্তাগুলিতে ছুটে এসেছি কারণ আমি ডায়নামিক_পেজার_ইনাইটে উল্লিখিত '.vm' ডিরেক্টরিটি তৈরি করতে ভুলে গেছি।

com.apple.launchd[1]  (com.apple.dynamic_pager[176]) Exited with exit code: 1
com.apple.launchd[1]  (com.apple.dynamic_pager) Throttling respawn: Will start in 10 seconds

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


আমি সত্যিই আগ্রহী যে আপনি এটি করতে চান কেন?
বাইনারিমিসফিট

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

4
যথেষ্ট উপযুক্ত - তবে একই ড্রাইভের পার্টিশনগুলি আসলে ড্রাইভের জন্য আরও কাজ করে, তবে বিভিন্ন ড্রাইভে পার্টিশনগুলি পারফরম্যান্স লাভ দেয়। হার্ডড্রাইভকে আরও কাজ করতে হয় যখন একক ড্রাইভের পার্টিশনগুলি জুড়ে। আমি কেবলমাত্র জিজ্ঞাসা করি কারণ আমার ম্যাকের বাক্সের বাইরে প্রায় 2 বছর ব্যবহারের পরেও টুকরো টুকরো টুকরো টুকরো টুকরো করা এবং পারফরম্যান্সের সমস্যা আছে এবং আমি যখন এই পোস্টগুলি দেখি তখন তারা আমাকে আগ্রহী।
বাইনারিমিজিট

1
আমি নিশ্চিত নই যে কেন আমি উত্তর পোস্ট করতে পারছি না ( 101 টি রেপ, যা - যদি আমি আমার গণিতগুলি মনে করতে পারি - তবে সুরক্ষিত রাষ্ট্রের প্রয়োজন 10 এর চেয়ে বেশি ) তবে আমি একটি অ- wait4pathসমাধান খুঁজে পেলাম , অ্যাপলর্ন এর জন্য ধন্যবাদ Xupport আমার জন্য পরিবর্তিত হয়েছে। কীভাবে করব তা বুঝতে পেরে আমি একটি পূর্ণ উত্তর পোস্ট করব, তবে এর সংক্ষিপ্ততাটি হ'ল শেষ প্রোগ্রামের যুক্তিটি কেবল নতুন পথে (উদাহরণস্বরূপ <string>/Volumes/swap/.vm/swapfile</string>) পরিবর্তন করা, OnDemandকীটি পরিবর্তন করা <true/>, এবং StartOnMountএকটি মান সহ শেষের একটি কী যুক্ত করা এর <true/>পিএস এই সমাধানটি সিংহটিতে কাজ করে (আমার পক্ষে, কমপক্ষে)।
স্লিপ ডি। থম্পসন

1
@ স্লিপ ডগলাস: আমার কাছে আইনী লাগছে। StartOnMount: পতাকা অনুযায়ী 10.5 মধ্যে যোগ করা হয়েছিল mactech.com/articles/mactech/Vol.25/25.10/...
e.James

উত্তর:


10

দ্রষ্টব্য : নিজেই প্রশ্নের একটি সংশোধন / উন্নত উত্তর দেখুন (এছাড়াও)।


নিম্নলিখিত সমাধানটি আমার পক্ষে কাজ করেছে:

একটি টার্মিনাল খুলুন এবং ব্যাকআপ com.apple.dynamic_pager.plist যা আপনি একটি সেকেন্ডে পরিবর্তন করতে চলেছেন:

d সিডি / সিস্টেম / গ্রন্থাগার / লঞ্চডেমোনস
$ সুডো সিপি com.apple.dynamic_pager.plist {, _ বাক}

বাইনারি প্লিস্টকে এক্সএমএলে রূপান্তর করুন:

$ sudo plutil-রূপান্তর xml1 com.apple.dynamic_pager.plist

এবং এটি আপনার প্রিয় পাঠ্য সম্পাদক দিয়ে খুলুন

$ sudo vim com.apple.dynamic_pager.plist

এটি দেখতে এরকম কিছু দেখাবে:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 3 <plist version="1.0">
 4 <dict>
 5     <key>EnableTransactions</key>
 6     <true/>
 7     <key>HopefullyExitsLast</key>
 8     <true/>
 9     <key>Label</key>
10     <string>com.apple.dynamic_pager</string>
11     <key>OnDemand</key>
12     <false/>
13     <key>ProgramArguments</key>
14     <array>
15         <string>/sbin/dynamic_pager</string>
16         <string>-F</string>
17         <string>/private/var/vm/swapfile</string>
18     </array>
19 </dict>
20 </plist>

লাইনে 17 সংশোধন / বেসরকারী / var / vm / swapfile (যেমন / ভলিউম / পার্টিশন 2 / swapfile), সংরক্ষণ করুন এবং আপনার সম্পাদককে বন্ধ করুন (": x" উভয়ই ভিম করবে)।

প্লাস্ট ফাইলটি পুনরায় বাইনারি রূপান্তর করুন:

$ sudo plutil-রূপান্তর বাইনারি 1 com.apple.dynamic_pager.plist

আপনার ম্যাকটি রিবুট করার পরে আপনার নির্দিষ্ট করা ডিরেক্টরিতে স্যুইপফাইলগুলি খুঁজে পাওয়া উচিত।

আপনি যদি কোনও সমস্যার মুখোমুখি হন তবে আপনি এটির সাথে প্রথম ধাপে তৈরি ব্যাকআপটি পুনরুদ্ধার করতে পারেন:

d সিডি / সিস্টেম / গ্রন্থাগার / লঞ্চডেমোনস
$ সুডো সিপি com.apple.dynamic_pager.plist {_বাক,}

আপনি নিশ্চিত যে swapfile কার হয় আসলে এই সেটআপ পার্টিশন সরানো হচ্ছে? আমি যখন এই পদ্ধতির প্রাথমিকভাবে চেষ্টা করেছি তখন গৌণ_পেজার গৌণ পার্টিশনগুলি মাউন্ট হওয়ার আগেই লোড হবে। সিস্টেমটি / ভলিউম ডিরেক্টরিতে পার্টিশন 2-তে একটি প্রতীকী লিঙ্ক তৈরি করে নকল করবে যা কেবল / বেসরকারী / ভার / ভিএম-র দিকে নির্দেশ করে। আপনি / ভলিউম ডিরেক্টরিতে ls -al করে ব্যর্থতা চিহ্নিত করতে পারেন, যেখানে আপনি "পার্টিশন 2" (প্রতীকী লিঙ্ক) এবং "পার্টিশন 2 1" (আপনার প্রকৃত পার্টিশন) উভয়ই দেখতে পাবেন।
জেমস

যে কোনও উপায়ে, প্লাস্ট ফাইলগুলিকে বাইনারি ফর্ম্যাটে & রূপান্তর করতে কৌশলটির জন্য +1। com.apple.dynamic_pager.plist 10.5.x তে সরল পাঠ্য বিন্যাসে ছিল, তবে বাইনারি বিন্যাসে 10.6। যা আমার সমস্যার অংশ। আমি এক্সকোডের সাথে আসে সম্পত্তি তালিকা সম্পাদক অ্যাপ্লিকেশনটি ব্যবহার করে প্লাস্ট ফাইলগুলি সংশোধন করছি এবং সম্ভবত সে কারণেই জিনিসগুলি কার্যকর হয়নি। আমি প্ল্যুটিলটি চেষ্টা করে দেখব এবং এটি আমার আর পায় কিনা।
জেমস

এই মুহুর্তে আমি এটি অন্য পার্টিশনের সাথে পরীক্ষা করতে পারছি না, তবে আমার পরীক্ষার সময় আমি ডায়ামিক_পেজার উপরের কৌশলটি ব্যবহার করে থাম্বড্রাইভে সোয়ালিফাইল তৈরি করেছি।
dblu

plutilরূপান্তরগুলির জন্য আপনার পরামর্শের জন্য আমি মূল কৌশলটি তৈরি করতে সক্ষম হয়েছি । আমি প্রশ্নের সম্পূর্ণ সমাধান পোস্ট করেছি (যেহেতু আপনার উত্তরের সাথে এটি যুক্ত করার মতো যথেষ্ট পরিমাণে আমার কাছে নেই)। স্রেফ প্লিস্টটি সংশোধন করে আমি যে সমস্যার মধ্যে পড়েছিলাম তার বিশদ বিবরণের জন্য আমার নোট # 1 দেখুন।
জেমস

যাইহোক, উত্তরের জন্য আপনাকে ধন্যবাদ। আপনি নির্দেশের একটি দুর্দান্ত সেট একসাথে রেখেছেন এবং আপনি আমাকে সঠিক দিকে নির্দেশ করেছেন যাতে আমি এটি গ্রহণযোগ্য হিসাবে চিহ্নিত করেছি। চিয়ার্স! :)
জেমস

3

আমি এই ধারণাটি গ্রহণ করেছি এবং বৃদ্ধি এবং পুনঃনির্মাণের কৌশলগুলিকে সম্বোধন করে এটি আরও কিছুটা এগিয়ে নিয়েছি।

Http://www.cryptide.com/dropsafe/article/3848 এ বিশদ ; আমি "ডায়নামিকপেগারওয়ালা" গুগলকোড প্রকল্পের পৃষ্ঠায় একটি লিঙ্ক পোস্ট করব, তবে ব্লগটি আমাকে বলেছে যে আমার যথেষ্ট খ্যাতি পয়েন্ট নেই ...


1
+1 দুর্দান্ত জিনিস! আমি এখনই চেষ্টা করে দেখছি। গুগল কোড প্রকল্পের লিঙ্কটি এখানে: কোড. google.com/p/dynamicpagerwrapper
জেমস

নিশ্চিত হয়ে নিন যে আপনি স্ক্রিপ্টটির কমপক্ষে 8 টি পুনর্বিবেচনা ব্যবহার করছেন: কোড. google.com/p/dynamicpagerwrapper/source/browse/trunk/…

3

শুধু একটি প্রশ্ন: কেন কেবলমাত্র wait4pathমধ্যবর্তী ব্যবহারের পরিবর্তে .plist ফাইল যুক্ত করে সম্পাদনা করা হচ্ছে না dynamic_pager_init?

এটার মতো কিছু:

সম্পাদনা: ই-জেমস এবং আমার নীচের মন্তব্যে যেমন ব্যাখ্যা করা হয়েছে, তত্ক্ষণাত্ XML ব্লকটি ভাল নয়, উভয়ই একটি ত্রুটি রয়েছে (অনুপস্থিত &&) এবং কারণ অ্যারেটির কেবল প্রথম যুক্তিটি ProgramArguments প্রোগ্রামটি চালানোর জন্য পার্স করা হয়েছে !

তবে .. (স্ক্রোল ডাউন)

 ...
13     <key>ProgramArguments</key>
14     <array>
15         <string>/bin/wait4path</string>
16         <string>/Volumes/Swap/</string>
17         <string>/sbin/dynamic_pager</string>
18         <string>-F</string>
19         <string>/Volumes/Swap/.vm/swapfile</string>
20     </array>
 ...

ভুল এক্সএমএল ব্লকের সমাপ্তি


পরিবর্তে এই এক্সএমএল ব্লকের কাজ করা উচিত :

   ...
    13     <key>ProgramArguments</key>
    14     <array>
    15         <string>/bin/bash</string>
    16         <string>-c</string>
    17         <string>/bin/wait4path /Volumes/Swap/ &amp;&amp; /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile</string>
    18     </array>
     ...

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

কিভাবে এটা কাজ করে:

বেস: এক্সিকিউট করার wait4path /path && commandঅর্থ commandকেবল চালানো হয় তবেই wait4pathশেষ হয় এবং ত্রুটি ছাড়াই প্রস্থান করা হয়, এবং এটি তখনই ঘটে যখন /pathউপলভ্য পথ হয়, তাই আমরা নিরাপদে dynamic_pagerসেই ভলিউমটি স্ব্যাপফাইলে ব্যবহার করতে বলতে পারি

1)launchd.plist ম্যানপেজে লিখিত হিসাবে , কীগুলি Programএবং ProgramArgumentsএকটি execvpকলটিতে ম্যাপ করা হয় , এর অর্থ অ্যারেতে প্রথম স্ট্রিং ব্যতীত সমস্ত কিছুই অ্যারেতে প্রথম স্ট্রিং, প্রোগ্রাম চালানোর জন্য আর্গুমেন্ট হিসাবে বিবেচিত হয়;

2)bash ম্যানপেজে লিখিত bash -c <string>হিসাবে, কমান্ড হিসাবে পাস স্ট্রিং চালানোর জন্য একটি বিকল্প আছে

1 + 2 = 3) আরম্ভ করা প্লাস্টে এই কমান্ড লাইনটি ব্যবহার করে কী ঘটে ??

/bin/bash -c "wait4path /Volumes/Swap/ && /sbin/dynamic_pager -F /Volumes/Swap/.vm/swapfile"

/bin/bashপ্রোগ্রামটি চালানো, -cএটি প্রথম আর্গুমেন্ট এবং ডাবল উদ্ধৃত স্ট্রিংটি দ্বিতীয় আর্গুমেন্ট

আমার ধারণা এটি মধ্যবর্তী স্ক্রিপ্ট ব্যতীত আপনার সমাধান হিসাবে ঠিক কাজ করা উচিত: launchdপরিষেবাটি শুরু হবে, যা প্রদত্ত পথটির জন্য অপেক্ষা করবে এবং তারপরে চালু হবে dynamic_pager..

দয়া করে নোট করুন:
* আপনি যে স্ট্রিংটি এক্সিকিউট করতে চান তা যদি আপনি bash -cটার্মিনালটিতে চালান তবে ডাবল কোট করা উচিত , তবে প্লাস্ট ফাইলটিতে এটি ডাবল উদ্ধৃত নয় ! (আমি অনুমান করি কারণ এটি ইতিমধ্যে যথাযথ ট্যাগ সহ একটি স্ট্রিং হিসাবে ঘোষিত হয়েছে)
* &স্ট্রিংয়ের &amp;দুটিটি অবশ্যই প্লিস্ট ফাইলটিতে পরিবর্তন করতে হবে

পিএস: বরাবরের মতো, নিজের ঝুঁকিতে এগিয়ে যান, আপনি এই সেটিংটি ব্যবহার করতে পারেন এমন সমস্যার জন্য আমি কোনও দায় নিই না!

আমাদের সাথে আপনার কাজ ভাগ করে নেওয়ার জন্য ধন্যবাদ


এটি একটি আকর্ষণীয় ধারণা। আমি নিশ্চিত নই যে একাধিক প্রোগ্রাম ProgramArgumentsঅ্যারেতে রাখা "আইনী" হয় তবে এটি অবশ্যই শট করার পক্ষে। আপনি কি চেষ্টা করে দেখেছেন?
জেমস

দুঃখিত, আমার আগের পোস্টে একটি ত্রুটি আছে, আমার ধারণাটি নিম্নলিখিত কমান্ড লাইনটি চালানো ছিল (নোটটি &&টি অনুপস্থিত ছিল তা নোট করুন): ওয়েটপথ / ভলিউম / অদলবদ / এবং & sbin / গতিশীল_প্যাজার -F / ভলিউমস / অদলবদল /vv/swapfile যদি কেউ সেই লাইনটিকে "ফর্ম্যাট" করার কোনও উপায় খুঁজে পায় যাতে এটি চালু করা পছন্দ করে তবে আমার ধারণা এটি কাজ করা উচিত (আমি এটি সম্পর্কে ভাবছি, সম্ভবত / বিন / বাশকে বাকীটিকে পাস হিসাবে আর্গুমেন্ট হিসাবে বলছি?); প্রোগ্রাম এবং প্রোগ্রামআরগমেন্টস ক্ষেত্রগুলি সম্পর্কে আরও ব্যাখ্যা লঞ্চড.পলিট ম্যানপেজে পাওয়া যায় এবং এটি এক্সিকিউপি (3) ম্যানপেজের দিকে নিয়ে যায়। আমি পড়ছি এবং ভাবছি, যদি কেউ দ্রুত হয় তবে পোস্ট করুন :)
ekl

আমি আগের পোস্টটি এমন একটি সমাধান সহ সম্পাদনা করেছি যা কাজ করা উচিত, আপনি যদি কোনও ধরণের ত্রুটি দেখতে পান বা যা সঠিকভাবে কাজ না করে তবে মন্তব্য করুন, ধন্যবাদ!
ekl

আমি আমার ল্যাপটপে এটি ব্যবহার করে দেখেছি এবং এটি কার্যকর বলে মনে হচ্ছে। আমি এটি নিশ্চিত হওয়ার জন্য কয়েক দিন নজর রাখব, তবে দেখে মনে হচ্ছে আপনি পুরো প্রক্রিয়াটিকে অত্যন্ত সাবলীল করেছেন! দুর্দান্ত কাজ:)
জেমস

আপনার সরলীকৃত পদ্ধতিটি আমার ল্যাপটপে একটি কবজির মতো কাজ করছে। ধন্যবাদ! আপনার সমাধানটি সংযুক্ত করার জন্য আমি মূল প্রশ্নটি আপডেট করব।
জেমস

2

আমি জানি এই নিবন্ধটি লেখার পরে অনেক সময় হয়ে গেছে তবে আমি ভেবেছিলাম যারা এই কাজটি করতে চান তাদের জন্য আমি এখানে আমার নিজের ছোট্ট আইটেমটি যুক্ত করব…

আমি আমার অদলবদল ফাইলগুলি অন্য একটি অভ্যন্তরীণ ড্রাইভে সরানোর জন্য উপরের কৌশলটি ব্যবহার করেছি (আমার বুট ড্রাইভটি এমএলসি চিপ সহ এসএসডি, সুতরাং ভিএম বন্ধ করে রাখলে আয়ু বাঁচতে পারে)। যাইহোক, নতুন ভলিউম তৈরির পরে আমার ফাইন্ডারে একটি অদলবদল ছিল যা আমি নিজেই ফাইন্ডারে ব্যবহার করতে যাব না, তাই আমি ভলিউমটি ফাইন্ডারে অদৃশ্য করার সিদ্ধান্ত নিয়েছি। আপনার অ্যাপলের বিকাশকারী টুলকিট ইনস্টল করা দরকার। তারপরে টাইপ করুন:

/Developer/Tools/SetFile -a V /Volumes/Swap/

… এবং আপনি নিজের ভলিউমের নাম যা রেখেছেন তার সাথে / ভলিউম / অদলবদল প্রতিস্থাপন করুন। ফাইন্ডার এবং প্রেস্টো পুনরায় আরম্ভ করুন, ফাইন্ডারে আর অদলবদল হবে না!


1

ভলিউমটি মাউন্ট হওয়ার জন্য অপেক্ষা করতে আপনি ওয়েট4পথ ব্যবহার করতে পারেন; অন্যথায়, চালু হওয়া আপনার ডায়নামিক_পাগার_ইনাইট স্ক্রিপ্টটি বার বার শুরু করবে যতক্ষণ না এটি না ঘটে ...


উজ্জ্বল! আমি / সংমিশ্রণের wait4pathপরিবর্তে ব্যবহার করেছি এবং এটি বেশ সুন্দরভাবে জিনিসগুলি পরিষ্কার করে। বখশিষের জন্য ধন্যবাদ. ifgrep
জেমস 22

1

হতে পারে আমরা আমাদের জন্য এই নোংরা কাজটি করতে এক্স্পোর্টটি ব্যবহার করতে পারি :) http://www.applicorn.com/

ভার্চুয়াল মেমরি অপটিমাইজার:

অদলবদলকারী ফাইলের অবস্থান পরিবর্তন করুন ম্যাক ওএস এক্সে ভার্চুয়াল মেমরির তথাকথিত তথাকথিত "স্ব্যাপফাইলেস" এ সংরক্ষণ করা হয়। যেহেতু সোয়াফফায়ালগুলি সর্বাধিক ইন্টারেক্টিভ সিস্টেম ফাইল, সেগুলি পৃথক পার্টিশনে রাখার অর্থ হয়। আপনার দ্রুততম অভ্যন্তরীণ হার্ডডিস্কের প্রথম বিভাজনে অদলবদলগুলি সংরক্ষণ করার পরামর্শ দেওয়া হয়। প্রস্তাবিত সর্বনিম্ন পার্টিশনের আকার শারীরিক অন্তর্নির্মিত মেমরির আকারের চেয়ে প্রায় 3 বা 4 গুণ বেশি দীর্ঘ হওয়া উচিত (উদাহরণস্বরূপ 1 জিবি শারীরিক মেমরি = 4 গিগাবাইট অদলবদল) অনুকূল সিস্টেমের কার্য সম্পাদনের জন্য প্রস্তাবনা এবং নির্দেশাবলী:

1. আপনার হার্ড ডিস্কটিকে অদলবদল (ম্যাক ওএস এক্স ইনস্টল ডিভিডি ব্যবহার করে) হিসাবে অদলবদল ভলিউমের সাথে পুনরায় বিভাজন করুন। সতর্কতা: একটি হার্ড ডিস্কের পুনরায় পার্টিশন করা সমস্ত বিদ্যমান ডেটা সহজ করে দেবে!

২. আপনার সিস্টেমের ডেটা পুনরুদ্ধার করুন বা সিস্টেম পার্টিশনে নতুন সিস্টেম ইনস্টল করুন।

3. সিস্টেম পার্টিশন থেকে বুট করুন।

৪. আপনি যদি চান যে আপনার অদলবদলটি ফাইন্ডারের কাছে অদৃশ্য হয়ে উঠতে পারে: X Xupport চালু করুন এবং "সেটিংস" চয়ন করুন "" লুকানো ফাইল এবং ফোল্ডারগুলি দেখান "সক্ষম করুন এবং ফাইন্ডারটিকে পুনরায় আরম্ভ করুন" "অদলবদল" থেকে ".অ্যাপআপ" এ অদলবদলটির নাম পরিবর্তন করুন ame (বিন্দু এটি অনুসন্ধানকারীর কাছে অদৃশ্য করে তোলে) • "লুকানো ফাইল এবং ফোল্ডারগুলি দেখান" অক্ষম করুন এবং ফাইন্ডারটিকে পুনরায় চালু করুন

৫. "সোয়াপ স্টোরেজ ভলিউম" এর অধীনে নতুন অদলবদল নির্বাচন করুন। তারপরে, নতুন অদলবদল ফাইলের অবস্থান সেটিংস প্রয়োগ করতে "সেট" বোতাম টিপুন (পুনরায় চালু করা আবশ্যক)।

বিটিডাব্লু, এটি আমার পক্ষে কাজ করে। স্নো চিতা 10.6.2 @ ম্যাকবুক প্রো 2.4GHz, 4 জিবি রাম, 500 জিবি এইচডি


প্রতিশ্রুতিবদ্ধ মনে হচ্ছে। লিঙ্ক এবং বিস্তারিত নির্দেশাবলীর জন্য আপনাকে ধন্যবাদ!
জেমস 11


1

এটি সম্ভবত একটি অবাঞ্ছিত উত্তর (যেহেতু আমি ডায়াগোর পরে কোনও মন্তব্য করতে পারি না) তবে আপনি কেন সত্যিই জোর দিয়ে বলছেন যে এটি ছোট পারফরম্যান্স লাভ দেবে? আমি আপেল ফোরামে একটি আলোচনার মধ্য দিয়ে গিয়েছি এবং উপসংহারটি এই যে এটি মোটেই ভাল ধারণা নয়। এবং আমি এটি পরিত্যাগ করতে খুব প্রতিরোধী ছিলাম। আপনি কি অন্তত নিজের জন্য প্রমাণ করে ডেটা নিয়ে আসতে পারেন, বা এটি কেবল একটি "অনুভূতি"?

প্রতিবার আমি 10 বছর আগে লিনাক্সে এমনকি অদলবদল ব্যবহার করেছি এবং আজকাল উবুন্টুতে আমি কখনই পারফরম্যান্সের উন্নতি দেখতে পাইনি। এটি চাওয়ার আমার কারণ হ'ল হাইবারনেট করতে সক্ষম হওয়ায় ওএসএক্স এবং লিনাক্সে মুক্ত স্থানের সমস্যাগুলি প্রতিরোধ করা। এগুলি সবই আমার কাছে।

তবে আমি নিজে থেকে বা ইন্টারভিউগুলিতে কখনও গভীর গবেষণা করতে পারি নি।


এটি একটি বৈধ সমালোচনা। আমার দাবিগুলি সমর্থন করার জন্য আমার কাছে কোনও ডেটা নেই :)

কুল। সুতরাং, অবশেষে, আপনি এই সমস্ত ঝামেলাও চালিয়ে যেতে পারেন! : পি
ক্রেগক্স

1

এটি কোনও উত্তর নয়, তবে সম্ভবত একটি খুব দরকারী ফলো-আপ পরিপূরক। অ্যাপল এখানে PlistEdit প্রো একটি বিনামূল্যে plist সম্পাদক সরবরাহ করে । এটি আপনাকে নিরাপদে এই ফাইলগুলি সম্পাদনা করার অনুমতি দেয়। মনে হলে আপনি শুধু মান যুক্তি পরিবর্তন হতে পারে যেমন / ব্যক্তিগত প্রথমেই / var / VM / swapfile ভালো কিছু করার জন্য / খন্ড / OtherDrive / VM / myswapfilename অন্য কোথাও swap 'র ফাইল স্থানান্তর করার জন্য ...

আবার আমি এটি পরীক্ষা করিনি ...


এটি একটি ভাল চিন্তাভাবনা এবং আমি এই পথে নামার সময় প্রথম জিনিসটি শুরু করেছিলাম। সমস্যাটি হ'ল ডায়নামিক পেজার লঞ্চ করার সময় অদলবদলের পার্টিশনটি সর্বদা পয়েন্টে মাউন্ট করা হয় না। আমি কী বলতে চাইছি সে সম্পর্কে বিশদে নিজেই প্রশ্নটিতে নোট # 1 দেখুন।
জেমস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.