PDA

View Full Version : cpu usage برای یک process



mohsen.net
دوشنبه 08 آبان 1385, 07:43 صبح
سلام چطور می توانم cpu usage برای یک process خاص را بدست بیارم(مثل همونی که توی task managerهست)
اگر بدست آوردن user name رو هم بگید ممنون می شوم

mohsen.net
پنج شنبه 11 آبان 1385, 18:42 عصر
اینقدر سخت هست؟
باید برای همه رو بدست آورد و بعد درصد گرفت؟ یا اینکه مثل memory usage خودش داره؟

Amir Oveisi
یک شنبه 14 آبان 1385, 13:45 عصر
از WMI استفاده کن
این query رو براش بکار ببر Win32_Processor
یه prpoperty داره به اسم PercentageLoaded که میزان cpu usage رو در اون لحظه نشون میده
اگه مشکلی داشتین بگین من نمونه کد بذارم
موفق باشین

mohsen.net
دوشنبه 15 آبان 1385, 06:47 صبح
Win32_Processor این property که گفتی را نداره(PercentageLoaded)

تووی این سایت msdn من ندیدم
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_processor.asp

Amir Oveisi
دوشنبه 15 آبان 1385, 13:15 عصر
خوب من حالا اسمشو دقیق یادم نبود ولی شما اگه خوب دقت کنی من خیلی نزدیک گفتم اسمشو :لبخند:

class Win32_Processor : CIM_Processor
{
uint16 AddressWidth;
uint16 Architecture;
uint16 Availability;
string Caption;
uint32 ConfigManagerErrorCode;
boolean ConfigManagerUserConfig;
uint16 CpuStatus;
string CreationClassName;
uint32 CurrentClockSpeed;
uint16 CurrentVoltage;
uint16 DataWidth;
string Description;
string DeviceID;
boolean ErrorCleared;
string ErrorDescription;
uint32 ExtClock;
uint16 Family;
datetime InstallDate;
uint32 L2CacheSize;
uint32 L2CacheSpeed;
uint32 L3CacheSize;
uint32 L3CacheSpeed;
uint32 LastErrorCode;
uint16 Level;
uint16 LoadPercentage;
string Manufacturer;
uint32 MaxClockSpeed;
string Name;
uint32 NumberOfCores;
uint32 NumberOfLogicalProcessors;
string OtherFamilyDescription;
string PNPDeviceID;
uint16 PowerManagementCapabilities[];
boolean PowerManagementSupported;
string ProcessorId;
uint16 ProcessorType;
uint16 Revision;
string Role;
string SocketDesignation;
string Status;
uint16 StatusInfo;
string Stepping;
string SystemCreationClassName;
string SystemName;
string UniqueId;
uint16 UpgradeMethod;
string Version;
uint32 VoltageCaps;
};

mohsen.net
سه شنبه 16 آبان 1385, 06:42 صبح
سلام . مرسی
اما فکر کنم این cpu usage رو برای خود cpu به ما می دهد نه یک process خاص
از سایت codeproject یک چیزایی پیدا کردم. اگر چیزی حالیم شد می گم.

Amir Oveisi
چهارشنبه 17 آبان 1385, 12:06 عصر
آهان... من فکر کردم که شما میخوای CPU Usage رو بطور کلی پیدا کنین
من هم تو WMI میگردم شاید چیز به درد بخوری پیدا کردم

احمد سامعی
چهارشنبه 17 آبان 1385, 16:48 عصر
خوب من حالا اسمشو دقیق یادم نبود ولی شما اگه خوب دقت کنی من خیلی نزدیک گفتم اسمشو :لبخند:

class Win32_Processor : CIM_Processor
{
uint16 AddressWidth;
.
.
.
};

این کلاسی که شما گفتید درست تو MSDN هم نوشته اما با چه کدی می شه مشخصات CPU رو گرفت ( من CPU ID رو می خوام که برای هر کامپیوتری یکتا باشه )
از دستورات استاد M.GhanaatPisheh در لینک زیر استفاده کردم اما دیباگ می ده
Not find

http://barnamenevis.org/forum/showthread.php?t=52362

Amir Oveisi
پنج شنبه 18 آبان 1385, 22:02 عصر
man bezoodi code mizaram inja