Windows 10 বা Windows 11 এ Com Surrogate নামক একটি সিস্টেম প্রসেসের অতিরিক্ত Memory বা CPU ইউসেজ এর কারণে পুরা সিস্টেম স্লো/হ্যাং হয়ে যাওয়ার সমস্যাটির অনেকেই সম্মুখীন হয়েছেন, আমাদের হেল্পলাইন গ্রুপেও প্রায়ই এই সমস্যা নিয়ে অনেকেই পোস্ট করে থাকেন। আজকে আলোচনা হবে এই COM Surrogate সম্পর্কে, এর আদ্যপান্ত,কাজ ও অতিরিক্ত CPU/RAM ইউসেজ এর সমাধান ইত্যাদি বিষয়ে।
Com Surrogate: এটি আসলে কি? এর কাজ ও প্রয়োজনীয়তাঃ
COM এর পুর্ণরুপ হলো Component Object Model যার কাজ হচ্ছে দুটি প্রসেসের মধ্যে কমিউনিকেশন/কানেকশন নিশ্চিত করা। এর মাধ্যমে ডেভেলপাররা objects বা COM Objects ডেভেলপ করতে পারেন (Com objects যেমন ইমেজ,ভিডিও প্রসেস করা,থাম্বনেইল জেনারেট করার কাজ করতে পারে) যার মাধ্যমে ইউজাররা ঐ অব্জেক্টগুলোকে অন্যান্য এপ্লিকেশন বা প্রসেসে এক্সটে্ন্ড করতে পারেন বা অপারেট করতে পারেন। তবে এই COM Object গুলোর সমস্যা হচ্ছে এটি যখন ক্রাশ করে, সাথে করে হোস্ট প্রসেস বা এপ্লিকেশনটাকেও ক্রাশ করিয়ে ফেলে। এই সমস্যার সমাধানেই মুলত মাইক্রোসফট এর উদ্ভাবিত প্রসেস COM Surrogate কাজ করে।
একটি COM Object এর Crash এর কারণে সম্পুর্ণ Host process বা Windows explorer যাতে ক্রাশ না করে সেজন্যই মুলত COM Surrogate কাজ করে থাকে। Com Surrogate এর অপারেশন পদ্ধতি অনেকটা এরকম,এটি Com Object কে অরিজিনাল প্রসেস এর বাইরে আলাদা করে রান করে , এতে করে কোনো COM Object ক্রাশ করলেও শুধুমাত্র সংশ্লিষ্ট COM Surrogate প্রসেসটিই খালি ক্রাশ করবে, হোস্ট এপ্লিকেশন বা উইন্ডোজ এক্সপ্লোরার না।
সিস্টেমের একটি গুরুত্বপুর্ণ প্রসেস হচ্ছে এই COM Surrogate। এটি চালু হয়ে থাকে সবসময়ই কিন্ত কাজের সময় ছাড়া সাধারণত এর মাধ্যমে RAM/CPU ইউজড হয় না। dllhost.exe নামের ফাইলটির মাধ্যমে এই প্রসেসটি কাজ করে থাকে (ফাইলটি System32 তে অবস্থিত)।
এক কথায়ঃCom Surrogate Com Object গুলোকে Host করে থাকে। কোনো COM Object ক্রাশ করলে সেই ক্রাশ এর ফলে COM Surrogate নিজে ক্রাশ করবে কিন্ত হোস্ট প্রসেস/এপ্লিকেশন বা এক্সপ্লোরার রানিং থাকবে, ক্রাশ করবে না। এটি DLL ফাইল হোস্ট করে, সেজন্য এর এক্সিকিউশন প্রসেস এর নাম dllhost.exe
কখন এটি এক্টিভ হয় বা কাজ করে?
COM Surrogate এর কাজ কি, দরকার কি এর সব্থেকে সহজ ও বাস্তব উদাহরণ চাইলেই যেকোনো ইউজার যেকোনো সময় একটু লক্ষ করলেই বের করে ফেলতে পারবেন। যখন কোনো Image/picture বা ভিডিওর ফোল্ডারে আপনি প্রবেশ করবেন , তখন দেখতে পাওয়া যায় টাস্ক ম্যানেজারে Com Surrogate বা dllhost.exe তার কাজ শুরু করে দিয়েছে, এই সময়ে সে এক্টিভ হয় ও কিছুটা র্যাম ,সিপিইউ রিসোর্স ইউজ করে। প্রশ্ন হচ্ছে এই র্যাম বা সিপিইউ ইউসেজ করে এই প্রসেসটি করে কি? এই মুহুর্তে ফোল্ডারটির দিকে লক্ষ রাখলে দেখবেন একটার পর একটা ভিডিও/অডিও/ইমেজ ফাইলের থাম্বনেইল জেনারেট হচ্ছে। যতক্ষণ এই ফাইলগুলোর থাম্বনেইল জেনারেট হতে থাকে ততক্ষণ প্রসেসটি র্যাম ও সিপিইউ রিসোর্স ইউজ করে থাকে, তারপর যখনই সবগুলো ফাইলের থাম্বনেইল তৈরী হয়ে যায়, আগের মতই Com Surrogate প্রসেসটি ইনএক্টিভ হয়ে যায় (র্যাম ও সিপিইউ ইউসেজ ছেড়ে দেয়)।
Com Surrogate সংক্রান্ত কি কি সমস্যা হতে পারে?
সাধারণত আমরা জানি থাম্বনেইল জেনারেট করার সময়ই এই ফাইলটি সিপিইউ বা র্যাম ইউজ করে। তবে কিছু কিছু সময় এরকম ঘটে থাকে যে কোনো কারণে কোনো একটি ফাইলের থাম্বনেইল কোনোভাবেই জেনারেট করা সম্ভব হয় না,এক্ষেত্রে দেখা যায় ফোল্ডারে একটি বা দুইটি ফাইলের থাম্বনেইল নেই বা জেনারেট হয়নি। সমস্যা সৃষ্টি হয় যখন সিস্টেম এই একটি ফাইলের থাম্বনেইল জেনারেট করার চেষ্টা করেই যেতে থাকে, একটা Infinity Loop চালু হয় ,COM Surrogate র্যাম, সিপিইউ ইউজ করেই যেতে থাকে ও কোনো একটা ফাইলের থাম্বনেইল জেনারেট এর বৃথা চেষ্টা করতে থাকে।
এর ফলে CPU, RAM Usage বেড়ে যায়। টাস্ক ম্যানেজারে লক্ষ রাখলেই তার প্রমাণ মিলে যে সারাক্ষণই ফাইলটি এক্টিভ। এই CPU,RAM ইউসেজ এর পরিমাণ সিস্টেম থেকে সিস্টেম ভিন্ন হতে পারে বিভিন্ন কারণে। আমার ক্ষেত্রে যেমন মাত্র 10% সিপিইউ ইউসেজ এর ঘটনা ঘটেছে (Ryzen 5 1600 একটি 6 cores 12 thread এর প্রসেসর), অন্যদের ক্ষেত্রে ৫০-১০০% সিপিইউ কিংবা কয়েক গিগাবাইট পর্যন্ত র্যাম ইউসেজ এর ঘটনা ও ঘটে থাকে।
কিছু কারণঃ
- থাম্বনেইল জেনারেট করতে না পারা।
- Bad System files,corrupted system files
- Com Surrogate Virus
নিচে এগুলো নিয়ে আলোচনা করা হবে ও সমাধান দেওয়ার চেষ্টা করা হবে।
Troubleshooting: এটি কি ভাইরাস? সেক্ষেত্রে করণীয় কি?
ট্রাবলশুটিং এর একেবারেই প্রথম ধাপেই আমাদের নিশ্চিত হয়ে নিতে হবে যে এই Com Surrogate কি উইন্ডোজের প্রকৃত Com Surrogate কি না। কেননা কিছু ম্যালওয়্যার রয়েছে যা কি না এই একই নাম ব্যবহার করে ছদ্মবেশে পিসিতে রান করে বিভিন্ন অপকর্ম করতে পারে।
এর জন্য টাস্ক ম্যানেজার থেকে Com Surrogate এর উপরে রাইট ক্লিক করে ওপেন ফাইল লোকেশনে ক্লিক করতে হবে। যদি প্রসেসটি Legit হয়ে থাকে অর্থাৎ অরিজিনাল মাইক্রোসফট উইন্ডোজের Com Surrogate হয়ে থাকে সেক্ষেত্রে এর ফাইল লোকেশন c:/Windows/system32 অর্থাৎ সিস্টেম৩২ তে থাকবে।
ফাইল লোকেশন যদি মিলে যায় সেক্ষেত্রে ধরে নেওয়া যেতে পারে ফাইলটি অন্তত Legit । সেক্ষেত্রে আমরা পরবর্তী স্টেপগুলোতে যেতে পারি।
উল্লেখ্য, একটু লক্ষ রাখতে হবে যে Com Surrogate নামের প্রসেস এর সংখ্যা কত ও com surrogate এর সাথে 32 সংখ্যাটি আছে কি না, যদি Com Surrogate 32 bit নামের প্রসেস দেখা যায় একাধিক ,সেক্ষেত্রে এগুলোর ফাইল লোকেশন চেক করে দেখা জরুরি, কারণ এক্ষেত্রে সম্ভাবনা রয়েছে ভাইরাস থেকে যাওয়ার।
যদি ফাইল লোকেশন না মিলেঃ
ফাইল লোকেশন না মিললে মোটামুটি ধরে নেওয়া যেতে পারে অবশ্যই ম্যালওয়্যার/ভাইরাস/স্পাইওয়্যার/মাইনার আপনার পিসিতে রয়েছে। এটি নিশ্চিত হওয়ার জন্য উইন্ডোজ ডিফেন্ডার বা ভালো কোনো latest definition updated এন্টিভাইরাস দিয়ে আপনার পিসি ফুল ইন ডেপথ স্ক্যান করুন,সম্ভব হলে Boot time স্ক্যান করুন।ভাইরাসটি দূর হয়ে যাবে।
নিম্নোক্ত ভাইরাসগুলোর Com Surrogate প্রসেসের নামে ছদ্মবেশে সিস্টেমে থেকে যাওয়ার প্রমাণ রয়েছে।
- Artemis!895C95A0B930
- Win64:Malware-gen
- Worm/Nachi.A.1
- Worm/Loveelet-Y
- Worm/Loveelet-DR
High Memory Usage/CPU Usage এর কতিপয় সমাধানঃ
SFC,DISM রান করে সিস্টেম ফাইল এর ইন্টিগ্রিটি চেকঃ
অনেক ক্ষেত্রে সিস্টেম ফাইল করাপ্ট হতে পারে, ড্যামেজড হতে পারে, কোনো প্রসেসে ত্রুটি থাকতে পারে, উইন্ডোজ ইন্সটলেশন ভুলভাবে হলে বা অন্য কোনো কারণে এমনকি নির্দিষ্ট কোনো উইন্ডোজ আপডেটের মাধ্যমে Com Surrogate এর প্রসেসে ত্রুটি চলে আসতে পারে। সেক্ষেত্রে করণীয়ঃ
SFC রান করা। System files checker বা SFC একটি সিম্পল ও সহজ টুল। এটি দিয়ে ড্যামেজড/করাপ্টেড সিস্টেম ফাইল আইডেন্টিফাই করে সেগুলোকে রিপ্লেস করা যায়। এর জন্য CMD (Run as admin) থেকে
sfc /scannow
কমান্ডটি দিন। প্রসেস শেষ হবার অপেক্ষা করুন।
এরপর
Dism /Online /Cleanup-Image /RestoreHealth
কমান্ডটি দিন। অপেক্ষা করুন। রিস্টার্ট দিন। সমস্যা সমাধান হয়ে যাওয়ার কথা যদি সিস্টেম ফাইল করাপশনের কারণে Com Surrogate এর Malfunctioning হয়ে থাকে।
যদি কোনো রিসেন্ট উইন্ডোজ আপডেটের পরপরই লক্ষ করেন Com Surrogate এর এই সমস্যাটি সেক্ষেত্রে সেই আপডেট টি থেকে রোলব্যাক করতে পারেন/অপেক্ষা করতে পারেন পরবর্তী আপডেটের/ System restore পয়েন্ট থেকে রিস্টোর করতে পারেন।
তৃতীয় কারণ ও সমাধানঃ
উপরের পদ্ধতি গুলোর একটিও কাজ না করলে ধরে নেওয়া যেতে পারে সবকিছু ঠিকই আছে কিন্ত কোনো একটি ভিডিও/ইমেজ ফাইল এর থাম্বনেইল জেনারেশন সংক্রান্ত কারণেই Com Surrogate এর সমস্যাটি হচ্ছে। এটি নিশ্চিত হওয়ার জন্য Process Explorer নামের একটি ফ্রি টুল ডাউনলোড করুন এখান থেকে।
চালু করুন। dllhost খুজে বের করুন ও সাইড কলামে Description থেকে Com Surrogate লেখা রয়েছে কি না নিশ্চিত হয়ে নিন। উপরের view মেনু থেকে show lower panel অপশনটিও টিক চিহ্ন দিয়ে দিন।
নিচের লোয়ার প্যানেলে কি কি ধরনের কাজে, কি কি ধরনের প্রসেস/রেজিস্ট্রি/ফাইল/Key/ দ্বারা এই প্রসেসটি ব্যবহ্বত হচ্ছে তা দেখা যাবে। এখানে সম্ভাবনা রয়েছে যে কোনো একটি ভিডিও/ছবি/ইমেজ/অডিও ফাইল এর নাম এই ফাইল লিস্টে থাকবে,সেক্ষেত্রে নিশ্চিতভাবেই ধরে নিতে হবে যে এই ফাইলটির থাম্বনেইল জেনারেশন নিয়েই তৈরী হয়েছে সমস্যা।
সমাধানঃ
এখানে সহজেই একটি কাজ আপনি করতে পারেন, তা হচ্ছে ফাইলটি ডিলিট করে দেওয়া (যদি এই ফাইল একদমই গুরুত্বপুর্ণ না হয় ও আপনার কাজে না লাগে সেক্ষেত্রে ডিলিট করে দেওয়া যেতেই পারে।সেক্ষেত্রে Com Surrogate প্রসেসটি সাথে সাথেই র্যাম/সিপিইউ ছেড়ে দিবে। যদিও এটি কোনো সমাধান না)।
সবথেকে কার্যকর পদ্ধতিগুলো হচ্ছেঃ
১)যে মিডিয়া প্লেয়ার ইউজ করছেন তা আন ইন্সটল করুন/আপডেট করুন, ৩২ বিট এর ভার্সন হয়ে থাকলে ৬৪ বিট এর ভার্সন ডাউনলোড করুন অথবা ভার্সন চেঞ্জ করুন। অনেক ক্ষেত্রে 3rd party মিডিয়া প্লেয়ার আনইন্সটল করলে বা চেঞ্জ করলেই সমস্যার সমাধান হয়ে যায়।
২)একটি 3rd party codec প্যাক ডাউনলোড করুন । K-lite codec প্যাক কেই আমি এ ক্ষেত্রে সাজেস্ট করবো। এটি অত্যন্ত versatile একটি কোডেক প্যাক। অনেক সময় বিভিন্ন টরেন্ট সাইট থেকে encoded ফাইল, mkv এক্সটেনশন এর বিভিন্ন কোডেক এর ফাইল নামানো হয়, এগুলোর থাম্বনেইল অনেক ক্ষেত্রে জেনারেট হতে সমস্যা হয়, কিছু ক্ষেত্রে এগুলো প্লে ও হয় না। বিশেষ করে অনলাইন মিডিয়া প্লেয়ার গুলোর Webm,TS ইত্যাদি এক্সটেনশন এর ফাইলগুলো চালু হওয়া বা থাম্বনেইল জেনারেট না হবার ঘটনা ঘটে।
K-Lite Codec ডাউনলোড করুন এখান থেকে। এটি ইন্সটল করলে, প্রথমত আপনার সমস্যা সমাধান হয়ে যাবে। দ্বিতীয়ত কোনো unsupported ভিডিও ফাইল যা আগে প্লে হতো না তা এখন প্লে হবে, IDM,XDM দিয়ে ইন্টারনেট এর মিডিয়া প্লেয়ার/ইউটিউব থেকে নামানো ফাইলগুলোর থাম্বনেইল জেনারেশন এর সমস্যার সমাধান হবে ও ফাইলগুলো প্লে হবে, তৃতীয়ত এই প্যাকেজের সাথে Built in আপনি একটি সুন্দর মিডিয়া প্লেয়ার পাচ্ছেন (Media Player Classic) । যেটি অত্যন্ত সিম্পল কিন্ত অসাধারণ একটি মিডিয়া প্লেয়ার (ভিএলসির মতই প্রচুর এডভান্স অপশন, ফ্লেক্সিবিলিটি দিয়ে ঠাসা)।
আমার ক্ষেত্রে কোন সমাধানে কাজ হয়েছে?
আমার ক্ষেত্রে K-LITE Codec ইন্সটলে কাজ হয়েছে। Com Surrogate সমস্যার সমাধান হয়েছে, তবে আমার মনে হয় Media player uninstall/update/downgrade/64 bit ইন্সটল এই পদ্ধতিগুলোও সমাধান করে দিতে পারে এই সমস্যা।