শীর্ষে থাকা VSIZE এর মান পিএস-তে VSZ (ভার্চুয়াল সেট আকার) এর মান থেকে আলাদা কেন?


9

আমি জানি ভিএসজেডটি psঅ্যাপ্লিকেশনটির জন্য বরাদ্দকৃত মোট ঠিকানা জায়গার জন্য এবং কখনও কখনও ভার্সাই ( psলিনাক্সের ম্যান পৃষ্ঠায় উল্লিখিত ) হিসাবে আলাদা করা হয়, তবে ভিএসআইজেজের সংজ্ঞা কী top? আইফোন থেকে এই শীর্ষ আউটপুট লিনাক্স উপর থেকে পৃথক:

 PID COMMAND      %CPU   TIME   #TH #PRTS #MREGS  RPRVT  RSHRD  RSIZE  VSIZE
 1875 emma         0.0%  0:30.83   7   139    932 17868K  5328K    29M   181M

root# ps -eo pid,rss,vsz|grep 1875
 1875  29324   441324

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

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

"আইফোন থেকে এই শীর্ষ আউটপুটটি লিনাক্সের শীর্ষ থেকে পৃথক" - অবাক হওয়ার কিছু নেই, তাই না?
কবুতর

উত্তর:


5

লিনাক্স মেমরি সিস্টেম মেমরি অপ্টিমাইজেশান ইউটিলিটিস এবং মেমরি ভাগ করে নেওয়ার অনেকগুলি রুটিন দিয়ে ভরা থাকে, কীভাবে মেমরি ভাগ করা হয় এবং কীভাবে ভোজন করা হয় তার একটি জটিল ধারণা তৈরি করে approach পিএস এবং অন্যান্য পিএস সম্পর্কিত কমান্ডের ফলাফলগুলি সমস্ত তথ্য থেকে তাদের আউটপুট তৈরি করে /procফাইল সিস্টেমের অধীনে । বিশেষতps, আরএসএস (আবাসিক আকারের মেমরি) এবং ভিএসআইআইজেই (ভার্চুয়াল মেমরি সাইজ) উভয়ই গুরুত্বপূর্ণ, তবে ভিএসআইএসই মেমরির সঠিক ব্যবহার প্রদর্শন করে না এবং ভিএসআইজেইএস এবং আরএসএসের মধ্যে পার্থক্যটি এটিই ছিল যা শুরুর সময় প্রোগ্রামটির জন্য উদ্দেশ্য এবং বরাদ্দ ছিল তবে এখনও উল্লেখ করা যেতে পারে না। প্রোগ্রামটির মতো প্রচুর লাইব্রেরি সংযুক্ত থাকতে পারে তবে এগুলি এখনও লোড করা হয়নি কারণ আসল প্রোগ্রামের রানটাইমগুলিতে এখনও সেগুলি উল্লেখ করা হয়নি। আরএসএস আসলে প্রোগ্রামটি দ্বারা ব্যবহৃত মোট স্মৃতি দেয় কিন্তু মেমরির ব্যবহারের সত্য চিত্র দেয় না, কারণ বরাদ্দ হওয়া মেমরির বেশিরভাগ অংশ একই প্রক্রিয়া বা অন্যান্য প্রক্রিয়াগুলির সাথে ভাগ করা যেতে পারে। নীচে তাকানো /proc/<processid>/mapsস্মৃতিটি কীভাবে ব্যবহৃত হয়েছে সে সম্পর্কে মোটামুটি ধারণা দিতে পারে তবে তারা চুপচাপ মাঝে মাঝে বিভ্রান্তিকর হতে পারে। ব্যবহারpmap -x <pid> কমান্ডলাইন থেকে, স্প্রেডআপটি দেখতে দরকারী।

প্রায়শই ভাল ইউটিলিটিগুলি হয় freeএবং vmstatfreeআপনাকে সামগ্রিক বর্তমান মেমরির ব্যবহারের বিশদ দেবে এবং এটি কতবার আপডেট হবে তা দেখতে ভিএমস্ট্যাট ব্যবহার করা যেতে পারে।


আরেকটি কারণ বা বিবেচ্য ব্যাখ্যা কেন পিএসকে সঠিক প্রক্রিয়া মেমরির ব্যবহার হিসাবে বিবেচনা করা উচিত নয়। ভার্চুয়ালথ্রেডস.ব্লগস্পট
নিখিল

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