Svchost.exe এ সার্থক কর্মক্ষমতা রিপোর্টিং


20

এটি এমন একটি বিষয় যা সর্বদা আমাকে বিরক্ত করে, তাই আমি সার্ভার ফল্ট সম্প্রদায়কে জিজ্ঞাসা করব।

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

সুতরাং ... এই তথ্য খুঁজে বের করার জন্য কোনও অ-হস্তক্ষেপের উপায় আছে কি?

উত্তর:


34

হ্যাঁ, একটি (প্রায়) অ-প্রবেশমূলক এবং সহজ উপায় রয়েছে:

প্রতিটি পরিষেবা তার নিজস্ব SVCHOST.EXE প্রক্রিয়ায় চালিত করার জন্য বিভক্ত করুন এবং সিপিইউ চক্র গ্রহণকারী পরিষেবাটি প্রসেস এক্সপ্লোরারে সহজেই দৃশ্যমান হবে ("=" এর পরে স্থানটি প্রয়োজনীয়):

SC Config Servicename Type= own

কমান্ড লাইন উইন্ডোতে এটি করুন বা এটিকে বিএটি স্ক্রিপ্টে রাখুন। প্রশাসনিক সুবিধাগুলি প্রয়োজন এবং কার্যকর হওয়ার আগে কম্পিউটারের পুনঃসূচনা প্রয়োজন।

মূল অবস্থাটি এর দ্বারা পুনরুদ্ধার করা যেতে পারে:

SC Config Servicename Type= share

উদাহরণ: উইন্ডোজ ম্যানেজমেন্ট ইনস্ট্রুমেন্টেশনকে একটি পৃথক SVCHOST.EXE এ চালিত করতে:

SC Config winmgmt Type= own

এই কৌশলটির কোনও খারাপ প্রভাব নেই, সম্ভবত স্মৃতিশক্তি খানিকটা বাড়ানো ব্যতীত। এবং প্রতিটি পরিষেবার জন্য সিপিইউ ব্যবহার পর্যবেক্ষণ ছাড়াও পৃষ্ঠা ত্রুটিগুলি ডেল্টা, ডিস্ক I / O পড়ার হার এবং প্রতিটি পরিষেবার জন্য ডিস্ক I / O লেখার হারকে পর্যবেক্ষণ করা সহজ করে তোলে। প্রসেস এক্সপ্লোরারের জন্য, মেনু দেখুন / নির্বাচন করুন কলামগুলি: ট্যাব প্রসেস মেমোরি / পৃষ্ঠা ফল্ট ডেল্টা, ট্যাব প্রক্রিয়া সম্পাদনা / আইও ডেল্টা বাইটস লিখুন, ট্যাব প্রক্রিয়া সম্পাদনা / আইও ডেল্টা পড়ুন বাইটস।


বেশিরভাগ সিস্টেমে কেবলমাত্র একটি SVCHOST.EXE প্রক্রিয়া থাকে যার প্রচুর পরিষেবা রয়েছে। আমি এই ক্রমটি ব্যবহার করেছি (এটি সরাসরি কমান্ড লাইনের উইন্ডোতে আটকানো যেতে পারে):

rem  1. "Automatic Updates"
SC Config wuauserv Type= own

rem  2. "COM+ Event System"
SC Config EventSystem Type= own

rem  3. "Computer Browser"
SC Config Browser Type= own

rem  4. "Cryptographic Services"
SC Config CryptSvc Type= own

rem  5. "Distributed Link Tracking"
SC Config TrkWks Type= own

rem  6. "Help and Support"
SC Config helpsvc Type= own

rem  7. "Logical Disk Manager"
SC Config dmserver Type= own

rem  8. "Network Connections"
SC Config Netman Type= own

rem  9. "Network Location Awareness"
SC Config NLA Type= own

rem 10. "Remote Access Connection Manager"
SC Config RasMan Type= own

rem 11. "Secondary Logon"
SC Config seclogon Type= own

rem 12. "Server"
SC Config lanmanserver Type= own

rem 13. "Shell Hardware Detection"
SC Config ShellHWDetection Type= own

rem 14. "System Event Notification"
SC Config SENS Type= own

rem 15. "System Restore Service"
SC Config srservice Type= own

rem 16. "Task Scheduler"
SC Config Schedule Type= own

rem 17. "Telephony"
SC Config TapiSrv Type= own

rem 18. "Terminal Services"
SC Config TermService Type= own

rem 19. "Themes"
SC Config Themes Type= own

rem 20. "Windows Audio"
SC Config AudioSrv Type= own

rem 21. "Windows Firewall/Internet Connection Sharing (ICS)"
SC Config SharedAccess Type= own

rem 22. "Windows Management Instrumentation"
SC Config winmgmt Type= own

rem 23. "Wireless Configuration"
SC Config WZCSVC Type= own

rem 24. "Workstation"
SC Config lanmanworkstation Type= own

rem End.

4
বাহ, দুর্দান্ত সমাধান +1
ম্যাট সিমন্স

2
পাওয়ারশেল স্ক্রিপ্টের সুপারিশকারী পোস্টারটিতে: আমি এটি চেষ্টা করেছি এবং এটি সফলভাবে আমার সমস্ত পরিষেবা পরিবর্তন করেছে। তবে, পুনরায় বুট করার পরে একটি ত্রুটি বাক্স পপ আপ হয়ে গেছে এবং একটি পুনঃসূচনা ট্রিগার করা হয়েছিল। আমাকে 'শেষ ভাল কনফিগারেশন' দিয়ে পুনরুদ্ধার করতে হয়েছিল। সতর্ক হোন.
user42670


1
@ ক্রিসস: এগুলি উইন্ডোজের পরবর্তী সংস্করণগুলিতে হস্তক্ষেপ থেকে সুরক্ষিত; আমার ধারণা, এটি উইন্ডোজ এক্সপি-তে গুরুত্বপূর্ণ, যদিও ...
তামারা উইজসম্যান

2
@ ক্রিসস রাখে-ভাগ করা তালিকার লিঙ্কের জন্য ধন্যবাদ! সেই সাইটটি এখন মৃত বলে মনে হচ্ছে। প্রতি সংরক্ষাণাগার তালিকা ছিল: HTTPFilter, KDC, Netlogon, NTLMssp, PolicyAgent, ProtectedStorage, SamSs, Eventlog, PlugPlay(সমস্ত সঙ্গে যুক্ত lsass.exe)
cxw

2

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


1

পরিষেবা প্রকাশের সরঞ্জামটি চেষ্টা করুন । এটা তোলে:

  1. পরিষেবাগুলি যা svchost.exe প্রক্রিয়া ভাগ করে Stores
  2. পৃথক প্রক্রিয়া চালানোর জন্য পরিষেবাগুলি কনফিগার করে। পুনরায় বুট করার পরে আপনি প্রতিটি পরিষেবা পৃথক প্রক্রিয়াতে দেখতে পাবেন।
  3. পদক্ষেপ # 1 পরিষেবায় সমস্ত সঞ্চিত এক প্রক্রিয়াতে ফিরে আসে।

আপনার মতামত ও পরামর্শ স্বাগত জানাই।

@ পিটার মর্টেনসেন: ধারণার জন্য ধন্যবাদ।


1
Dmytro, আপনার পরিষেবা প্রকাশ সরঞ্জামটি কীভাবে ব্যবহার করবেন তা আমি কোথায় শিখতে পারি? আমি উইন্ডোজ on. এ সার্ভিস_ডিস্ক্লোজার.এক্সই ডাউনলোড করে চালিয়েছি B সংক্ষেপে আমি একটি কালো কমান্ড উইন্ডোটি খোলা এবং বন্ধ দেখতে পেয়েছি, তবে এর চেয়ে বেশি কিছুই ঘটেনি বলে মনে হয়েছে। এই ছিল বিরক্তিকর! এটি আমার কম্পিউটারে কী করেছে এবং কীভাবে সরঞ্জামটি সঠিকভাবে ব্যবহার করতে হয় তা আমি জানতে চাই।
বিকাশকারী

হাই ড্যান দয়া করে এই ধাপে ধাপে গাইডটি বিবেচনা করুন ( Sourceforge.net/p/svcdisclsr/wiki/Home )
Dmytro Ovdiienko

1

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

পাওয়ারশেলে, আপনি নিম্নলিখিত কমান্ডগুলি ব্যবহার করে সমস্ত নন-লাসাস পরিষেবার জন্য এটি করতে পারেন:

Get-Service | ForEach-Object `
    { SC.EXE config $_.Name type= own }
ForEach ($svc in @("efs", "keyiso", "netlogon", "policyagent", "samss", "vaultsvc", `
    "was", "w3svc")) `
    { SC.EXE config $svc type= share }

এখানে যে তালিকাটি বাদ দেওয়া হয়েছে সেগুলি পলিসি এজেন্ট ব্যতীত একটি ভাগ করা lsass.exe চালানো দরকার , যা গ্রুপ পলিসি এজেন্টের বুটের সময় সঠিকভাবে যোগাযোগ করার জন্য প্রয়োজনীয়।

এছাড়াও সম্প্রতি আবিষ্কার করেছি যে ছিল (প্রক্রিয়া অ্যাক্টিভেশন) এবং w3svc (আইআইএস ওয়ার্ল্ড ওয়াইড ওয়েব) তাদের প্রসেস ভাগ করতে হবে, তাই তারা বহিষ্কার যোগ করা হয়েছে।

এই উইন্ডোজ 10 (1607, বিল্ড 14393.953) উপর পরীক্ষা করা হয়েছে, বহিষ্কার হয় এক্সপিতে বিভিন্ন ...


0

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


0

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

$win32Service = Get-CimInstance -ClassName Win32_Service -Filter "Name = '$ServiceName'" -Verbose:$false

if ($win32Service)
{
    if (!(Set-ServiceTypeToOwnProcessByCim $win32Service))
    {
        if (!(Set-ServiceTypeToOwnProcessByWindowsRegistry $win32Service))
        {
            if (Grant-FullControlRightsOnServiceRegistryKeyToCurrentUser $win32Service)
            {
                Set-ServiceTypeToOwnProcessByWindowsRegistry $win32Service | Out-Null
            }
        }
    }
}
else
{
    Write-Warning "[$ServiceName] Service not found"
}

যখন নির্বাণ Set-ServiceTypeToOwnProcess.ps1এবং Enable-Privilege.ps1একই ফোল্ডারে ফাইল, আপনি ভালো স্ক্রিপ্ট নির্বাহ করতে পারেন:

.\Set-ServiceTypeToOwnProcess.ps1 -ServiceName 'Appinfo', 'gpsvc', 'Schedule', 'SENS', 'SessionEnv', 'wuauserv'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.