প্রতিটি প্রক্রিয়াতে সিপিইউ এবং মেমরির ব্যবহার ট্র্যাক করা


163

আমার সন্দেহ হয় যে আমার একটি অ্যাপ্লিকেশন তার চেয়ে বেশি সিপিইউ চক্র খায়। সমস্যাটি হ'ল - এটি বিস্ফোরণে ঘটে এবং কেবলমাত্র টাস্ক ম্যানেজারের দিকে তাকানোই আমাকে সহায়তা করে না কারণ এটি কেবল তাত্ক্ষণিক ব্যবহার দেখায়।

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

আমি এটি অর্জনের জন্য একটি তৈরি সরঞ্জাম বা কোনও প্রোগ্রাম্যাটিক উপায়ের সন্ধান করছি।

উত্তর:


167

শুধু টাইপ perfmonমধ্যে Start > Runও Enter টিপুন। পারফরম্যান্স উইন্ডোটি খুললে, গ্রাফটিতে নতুন কাউন্টার যুক্ত করতে + সাইন ক্লিক করুন। কাউন্টারগুলি আপনার পিসি কীভাবে কাজ করে তার বিভিন্ন দিক এবং "পারফরম্যান্স অবজেক্ট" নামে পরিচিত গ্রুপগুলিতে মিলের দ্বারা গোষ্ঠীভুক্ত হয়।

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

পরে আপনার পরিদর্শনটির জন্য পারফরম্যান্স ডেটা সংরক্ষণ করার জন্য আপনি ইউটিলিটিটিও নির্দিষ্ট করতে পারেন। এটি করতে, বাম-হাতের প্যানেলে "পারফরম্যান্স লগ এবং সতর্কতা" নির্বাচন করুন। (এটি ঠিক সিস্টেম মনিটরের কনসোলের নীচে রয়েছে যা আমাদের উপরের উল্লিখিত কাউন্টারগুলি সরবরাহ করে it এটি যদি না থাকে তবে "ফাইল"> "স্ন্যাপ-ইন যোগ / সরান" ক্লিক করুন, সংযোজন ক্লিক করুন এবং তালিকার "পারফরম্যান্স লগ এবং সতর্কতা" নির্বাচন করুন "।)" পারফরম্যান্স লগস এবং সতর্কতাগুলি "থেকে," কাউন্টার লগস "এর অধীনে একটি নতুন মনিটরিং কনফিগারেশন তৈরি করুন you তারপরে আপনি কাউন্টারগুলি যুক্ত করতে পারেন, নমুনার হার, লগ বিন্যাস (বাইনারি বা প্লেইন পাঠ্য) এবং লগের অবস্থান নির্দিষ্ট করতে পারেন।


1
কাউন্টার লগে কোনও ডেটা নমুনা ধরার জন্য আদর্শ ব্যবধানটি কী?
স্টেপ রোজ

8
আপনারা এটি লেখার পর থেকে এমএস স্পষ্টতই ইউআইকে পারফরম্যান্স মনিটরে পরিবর্তন করেছে। উইন্ডোজ 2008 আর 2 এ আপনি এটি কীভাবে করবেন সে সম্পর্কে কোনও ধারণা?
মার্টিন ব্রাউন

5
@MartinBrown - খুঁজে পাওয়া এই । এটা দুর্দান্ত।
জেএনএফ

2
ভিস্তার উপর লগ সংরক্ষণের দ্বিতীয় অংশটি কীভাবে করবেন কেউ জানেন? "পারফরম্যান্স লগ এবং সতর্কতা" কোথাও নেই বলে মনে হচ্ছে
Xitcod13

11
ডান ক্লিক ডেটা সংগ্রহকারীর সেট-> ব্যবহারকারী সংজ্ঞায়িত। নতুন-> ডেটা কালেক্টর সেট নির্বাচন করুন। এটিকে একটি নাম দিন এবং ম্যানুয়ালি তৈরি নির্বাচন করুন। পরবর্তী ক্লিক করুন। পারফরম্যান্স কাউন্টার নির্বাচন করুন। পরবর্তী ক্লিক করুন। কর্মক্ষমতা কাউন্টার যুক্ত করুন এবং নমুনা বিরতি প্রবেশ করুন। তারপরে ডেটা কালেক্টর সেটস এর অধীনে আপনাকে আপনার সেটটিতে ডান ক্লিক করুন এবং "স্টার্ট" ক্লিক করুন। কিছুক্ষণ পরে আপনি আপনার সেটটি ডানদিকে ক্লিক করুন এবং "থামুন" ক্লিক করুন। তারপরে আপনি রিপোর্টগুলি-> ব্যবহারকারী সংজ্ঞায়িত-> আপনার সেট এর নীচে প্রতিবেদনটি সন্ধান করতে পারেন। গ্রাফটিতে ডান ক্লিক করুন এবং ডেটা হিসাবে সংরক্ষণ করুন নির্বাচন করুন।
গ্রিমিও

43

প্রক্রিয়া এক্সপ্লোরার কোনও প্রক্রিয়া দ্বারা নেওয়া মোট সিপিইউ সময়, পাশাপাশি প্রতিটি প্রক্রিয়াতে ইতিহাস গ্রাফ প্রদর্শন করতে পারে।


3
সুতরাং আপনি কোনও প্রক্রিয়া এটির জন্য কীভাবে ব্যবহার করবেন যা এলোমেলোভাবে সংক্ষিপ্ত ফেটে আরও মেমরি বা প্রসেসরের শক্তি ব্যবহার শুরু করে। আপনি বিস্তারিত বলতে পারেন?
Xitcod13

কলামের শিরোনামে ডান ক্লিক করুন, নির্বাচন করুন কলামগুলি নির্বাচন করুন, তারপরে "প্রসেস পারফরম্যান্স" এর অধীনে "সিপিইউ ইতিহাস" দেখুন
লরেন্ট

আপনি এটি শূন্য পুনরায় সেট করতে পারেন?
সাইমন_উইভার

আমি কোনও ফাইলটিতে লগ ইন করতে পারি কোনও প্রদত্ত পিআইডি-র মেমরির খরচ?
রায়

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

19

পারফোন.এক্সই ব্যবহার করে, মেমরির ব্যবহার ট্র্যাক করার জন্য আমি "প্রসেস" কাউন্টারগুলির অধীনে "প্রাইভেট বাইটস" কাউন্টারটি ব্যবহার করার চেষ্টা করেছি এবং এটি ভাল কাজ করে।


1
এটা সঠিক উত্তর. আপনি প্রক্রিয়া অধীনে সিপিইউ তথ্য পেতে পারেন। প্রক্রিয়াতে ক্লিক করুন, তারপরে নির্বাচিত বস্তুর উদাহরণের অধীনে আপনার অ্যাপ্লিকেশনটি (আপনার উদাহরণে ফায়ারফক্স) নির্বাচন করুন।
ক্রিস ম্যাককোয়ান

11

সম্ভবত আপনি এটি ব্যবহার করতে পারেন। এটি আপনার পক্ষে কাজ করা উচিত এবং নির্দিষ্ট প্রক্রিয়াটির জন্য প্রসেসরের সময়কে রিপোর্ট করবে।

@echo off
: Rich Kreider <rjk@techish.net>
: report processor time for given process until process exits (could be expanded to use a PID to be more
: precise)
: Depends:  typeperf
: Usage:  foo.cmd <processname>

set process=%~1
echo Press CTRL-C To Stop...
:begin
for /f "tokens=2 delims=," %%c in ('typeperf "\Process(%process%)\%% Processor Time" -si 1 -sc 1 ^| find /V "\\"') do (
if %%~c==-1 (
goto :end
) else (
echo %%~c%%
goto begin
)
)

:end
echo Process seems to have terminated.

7

আমি সম্মত, পারফোন.এক্সই আপনাকে যে কোনও প্রক্রিয়া পর্যবেক্ষণ করতে চান তার জন্য কাউন্টারগুলি (ডান প্যানেলে ডান ক্লিক করুন) যুক্ত করতে দেয়।

পারফরম্যান্স অবজেক্ট: প্রক্রিয়াটি "তালিকা থেকে উদাহরণগুলি নির্বাচন করুন" এবং ফায়ারফক্স নির্বাচন করুন।


1
ধন্যবাদ। আমি এক ঘন্টার মতো প্রাক-সংজ্ঞায়িত সময়ের মধ্যে সিপিইউ ব্যবহারের ইতিহাসটি কীভাবে দেখতে পারি?
এলি বেন্ডারস্কি

6

ডাব্লুএমআই হ'ল উইন্ডোজ ম্যানেজমেন্ট ইনস্ট্রুমেন্টেশন এবং এটি উইন্ডোজের সমস্ত সাম্প্রতিক সংস্করণে অন্তর্নির্মিত। এটি আপনাকে সিপিইউ ব্যবহার, ডিস্ক আই / ও, এবং মেমরির ব্যবহারের মতো প্রোগ্রামগুলিতে ট্র্যাক করতে দেয়।

পারফরমোন.এক্সই এই ইন্টারফেসের একটি জিইউআই ফ্রন্ট-এন্ড, এবং কোনও প্রক্রিয়া পর্যবেক্ষণ করতে পারে, লগতে তথ্য লিখতে পারে এবং সত্যের পরে আপনাকে লগটি বিশ্লেষণ করতে দেয়। এটি বিশ্বের সবচেয়ে মার্জিত প্রোগ্রাম নয়, তবে এটি কাজটি সম্পন্ন করে।


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

2

প্রক্রিয়া লাসো গ্রাফের জন্য নয়, প্রক্রিয়া অটোমেশন এবং অগ্রাধিকার শ্রেণির অপ্টিমাইজেশনের জন্য আরও নকশাকৃত। তাই বলা হয়, এটা করে অফারটি প্রতি প্রক্রিয়া CPU- র ব্যবহার ইতিহাস (গ্রাফে একটি সাদা লাইন হিসেবে টানা) কিন্তু এটা আছে না প্রতি-প্রসেস মেমরি ব্যবহার ইতিহাস অফার।

অস্বীকৃতি: আমি প্রক্রিয়া লাসোর লেখক, তবে বাস্তবে এখানে এটি সমর্থন করছি না - কারণ আরও ভাল সমাধান রয়েছে (পারফোন সেরা হওয়ায়)।

উইন্ডোজ ভিস্তা + রিসোর্স এবং পারফরম্যান্স মনিটর সর্বকালের সেরা জিনিস। এটি সময়ের সাথে সাথে সিপিইউ, মেমরি, নেটওয়ার্ক এবং ডিস্ক অ্যাক্সেসের ব্যবহার ট্র্যাক করতে পারে। এটি একটি দুর্দান্ত সামগ্রিক সিস্টেম তথ্য ইউটিলিটি যা অনেক আগে তৈরি করা উচিত ছিল। আমার ভুল না হলে এটি সময়ের সাথে প্রতি-প্রক্রিয়া সিপিইউ এবং মেমরির ব্যবহার ট্র্যাক করতে পারে (তালিকাভুক্ত অন্যান্য জিনিসের মধ্যে)।


2

আপনি ডাব্লুএমআই কমান্ড ব্যবহার করে একটি সি # / পার্ল / জাভা স্ক্রিপ্ট ব্যবহারের ডেটা পেতে চেষ্টা করতে পারেন এবং এর জন্য পদক্ষেপগুলি নীচে।

আমাদের 2 ডাব্লুএমআই সিলেক্ট ক্যোয়ারী কার্যকর করতে হবে এবং সিপিইউ% ব্যবহারের সূত্র প্রয়োগ করতে হবে

1. যৌক্তিক প্রক্রিয়ার মোট সংখ্যা পুনরুদ্ধার করা

select NumberOfLogicalProcessors from Win32_ComputerSystem

২. পারসেন্টপ্রসেসরটাইমের মানগুলি পুনরুদ্ধার করার জন্য, টাইমস্ট্যাম্প_সেস 100 এনএস (সিপিইউ ব্যবহারের সূত্রটি বাস্তব ব্যবহারের শতাংশের সাথে পেতে প্রয়োগ করা হয়) এবং ওয়ার্কিংসেটপ্রাইভেট (র‌্যাম) ন্যূনতম 2 বার 1 সেকেন্ডের ঘুমের ব্যবধান সহ

select * from Win32_PerfRawData_PerfProc_Process where IDProcess=1234

৩. সিপিইউ% ব্যবহারের সূত্র প্রয়োগ করুন

CPU%= ((p2-p1)/(t2-t1)*100)/NumberOfLogicalProcessors

p2 ইঙ্গিত করেছে পার্সেন্টপ্রসেসর টাইম দ্বিতীয়বারের জন্য প্রাপ্ত, এবং p1 ইঙ্গিত করেছে যে পার্সেন্টপ্রসেসরটাইম প্রথমবারের জন্য প্রাপ্ত হয়েছে, টি 2 এবং টি 1 টাইমস্ট্যাম্প_সেস 100 এনএস এর জন্য।

এর জন্য একটি নমুনা পার্ল কোডটি http://www.craftedfireveryone.com/cpu-and-ram-utilization-of-an-application-used-perl-via-wmi/ লিঙ্কে পাওয়া যাবে

এই যুক্তিটি সমস্ত প্রোগ্রামিং ভাষার জন্য প্রযোজ্য যা ডাব্লুএমআই কোয়েরিগুলিকে সমর্থন করে


ডাব্লুএমআই এবং পাওয়ারশেল?
প্রিগান্টনকোজনিরো ক্যাব্রন

2

যদিও আমি এটি চেষ্টা করে দেখিনি , প্রোকডম্প আরও ভাল সমাধান বলে মনে হচ্ছে।

সাইট থেকে বিবরণ:

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





1

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

উইন্ডোজ 10 কাম্যুলেটিভ সিপিইউ সময়

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


1

কিছু নির্দিষ্ট উইন্ডোজ সার্ভারের স্ট্যাটাস এবং সিপিইউ / মেমরির ব্যবহারের প্রয়োজন ছিল। আমি স্ক্রিপ্টের নীচে ব্যবহার করেছি:

এটি উইন্ডোজ অনুসন্ধান পরিষেবার একটি উদাহরণ example

  $cpu = Get-WmiObject win32_processor
  $search = get-service "WSearch"
  if ($search.Status -eq 'Running')
  {
  $searchmem = Get-WmiObject Win32_Service -Filter "Name = 'WSearch'"
  $searchid = $searchmem.ProcessID
  $searchcpu1 = Get-WmiObject Win32_PerfRawData_PerfProc_Process | Where {$_.IDProcess -eq $searchid}
  Start-Sleep -Seconds 1
  $searchcpu2 = Get-WmiObject Win32_PerfRawData_PerfProc_Process | Where {$_.IDProcess -eq $searchid}
  $searchp2p1 = $searchcpu2.PercentProcessorTime - $searchcpu1.PercentProcessorTime
  $searcht2t1 = $searchcpu2.Timestamp_Sys100NS - $searchcpu1.Timestamp_Sys100NS
  $searchcpu = [Math]::Round(($searchp2p1 / $searcht2t1 * 100) /$cpu.NumberOfLogicalProcessors, 1)
  $searchmem = [Math]::Round($searchcpu1.WorkingSetPrivate / 1mb,1)
  Write-Host 'Service is' $search.Status', Memory consumed: '$searchmem' MB, CPU Usage: '$searchcpu' %'
  }

  else
  {
  Write-Host Service is $search.Status -BackgroundColor Red
  }

0

আমি সিপিইউ / র‍্যাম / আইও গতির ইতিহাসের গ্রাফের জন্য টাস্কিনফো ব্যবহার করি। http://www.iarsn.com/taskinfo.html

কিন্তু প্রতিক্রিয়াহীনতার ফাটল, ফল্ট এইচডি / এসএস ড্রাইভের কারণে আরও বাধাপ্রাপ্ত সময়ের মতো শোনাচ্ছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.