C#做的CPU内存使用率

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using System.Runtime.InteropServices;
using System.Management;
namespace CPU_Detect
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Process[] MyProcesses;
        Thread td;
        private void myUser()
        {
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_Processor");
            foreach (ManagementObject myobject in searcher.Get())
            {
                tssluse.Text = myobject["LoadPercentage"].ToString()+" %";
                lblCPU.Text = myobject["LoadPercentage"].ToString() + " %";
                mheight = Convert.ToInt32(myobject["LoadPercentage"].ToString());
                if (mheight == 100)
                    panel3.Height = 100;
                CreateImage();
                Memory();
            }
        }

        private void Memory()
        {
            Microsoft.VisualBasic.Devices.Computer myInfo = new Microsoft.VisualBasic.Devices.Computer();
            //获取物理内存总量
            pbMemorySum.Maximum = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory/1024/1024);
            pbMemorySum.Value   = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory/1024/1024);
            lblSum.Text = (myInfo.Info.TotalPhysicalMemory / 1024).ToString();
            //获取可用物理内存总量
            pbMemoryUse.Maximum = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory/1024/1024);
            pbMemoryUse.Value   = Convert.ToInt32(myInfo.Info.AvailablePhysicalMemory/1024/1024);
            lblMuse.Text = (myInfo.Info.AvailablePhysicalMemory / 1024).ToString();
            //获取虚拟内存总量
            pbVmemorysum.Maximum = Convert.ToInt32(myInfo.Info.TotalVirtualMemory/1024/1024);
            pbVmemorysum.Value   = Convert.ToInt32(myInfo.Info.TotalVirtualMemory/1024/1024);
            lblVinfo.Text = (myInfo.Info.TotalVirtualMemory / 1024).ToString();
            //获取可用虚拟内存总量
            pbVmemoryuse.Maximum = Convert.ToInt32(myInfo.Info.TotalVirtualMemory / 1024 / 1024);
            pbVmemoryuse.Value = Convert.ToInt32(myInfo.Info.AvailableVirtualMemory/ 1024 / 1024);
            lblVuse.Text = (myInfo.Info.AvailableVirtualMemory / 1024).ToString();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            CheckForIllegalCrossThreadCalls = false;
            MyProcesses = Process.GetProcesses();
            tsslNum.Text = MyProcesses.Length.ToString();
            myUser();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            MyProcesses = Process.GetProcesses();
            tsslNum.Text = MyProcesses.Length.ToString();
            td = new Thread(new ThreadStart(myUser));
            td.Start();
        }

        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            if (td != null)
            {
                td.Abort();
            }
        }
        int mheight = 0;
        private void CreateImage()
        {
            int i=panel3.Height/100;
            Bitmap image = new Bitmap(panel3.Width,panel3.Height);
            Graphics g = Graphics.FromImage(image);
            g.Clear(Color.Green);
            SolidBrush mybrush = new SolidBrush(Color.Lime);
            g.FillRectangle(mybrush,0,panel3.Height-mheight*i,26,mheight*i);
            panel3.BackgroundImage = image;
        }
    }
}
时间: 2024-10-25 17:11:06

C#做的CPU内存使用率的相关文章

Ubuntu 16.04安装indicator-sysmonitor实现导航条显示上下行网速/CPU/内存使用率

安装: sudo add-apt-repository ppa:fossfreedom/indicator-sysmonitor sudo apt-get update sudo apt-get install indicator-sysmonitor 启动: indicator-sysmonitor & 提示:按Ctrl+C退出. 开机启动: 配置: 在上方输入:CPU: {cpu} 内存: {mem} 网络:{net},然后按Test即可看见效果,最后保存即可.

ZABBIX监控H3C设备的CPU和内存使用率

由于最近监控的H3C路由器经常出现死机现象,SNMP获取不到数据,后面检查发现是CPU使用率过高,直接导致无法处理SNMP请求,所以需求来了,怎样通过SNMP监控H3C路由器的CPU和内存使用率? 由于CPU和内存的IOD号是H3C厂商没有公布的,所以不好找,在网上百度了一些资料查找H3C网络设备的CPU和内存OID号,这里做个记录,以供以后参考. 一般H3C网络设备的CPU和内存的IOD号和下面的东西有关. H3C cpu 使用率OID:.1.3.6.1.4.1.25506.2.6.1.1.1

获取Windows操作系统的CPU使用率以及内存使用率

阅读目录 声明定义 引用lib文件 获取操作系统CPU使用率 获取操作系统内存大小 获取操作系统内存使用率 此功能参考了ProcessHacker项目的代码. 回到顶部 声明定义  Collapse typedef struct _UINT64_DELTA { ULONG64 Value; ULONG64 Delta; } UINT64_DELTA, *PUINT64_DELTA; typedef struct _UINTPTR_DELTA { ULONG_PTR Value; ULONG_PT

利用shell监控cpu、磁盘、内存使用率

利用shell监控cpu.磁盘.内存使用率,达到警报阈值发邮件进行通知 并配合任务计划,即可及时获取报警信息 #!/bin/bash ############################################## #Author: Liuzhengwei - [email protected] #QQ:1135960569 #Last modified: 2017-04-19 21:50 #Filename: jiankong.sh #Description:  #########

Ubuntu 16.04 标题栏实时显示上下行网速、CPU及内存使用率--indicator-sysmonitor

---------------------------------------------------------------------------- 原文地址:http://blog.csdn.NET/tecn14/article/details/24489031 ---------------------------------------------------------------------------- 有时感觉网络失去响应,就通过Ubuntu 14.04自带的系统监视器程序来查

Linux 查看机器配置,及cpu/内存/硬盘使用率

Linux下怎样查看机器配置啊?cpu/内存/硬盘 dmesg显示开机信息.kernel会将开机信息存储在ring buffer中.您若是开机时来不及查看信息,可利用dmesg来查看.开机信息亦保存在/var/log目录中,名称为dmesg的文件里 dmesg|grep hd硬盘dmesg|grep cpucpudmesg|grep proc内存dmesg|grep redhat操作系统dmesg|more更多信息uname -a操作系统版本 查看linux cpu和内存利用率2008-07-1

查看本机CPU、内存使用率前10的进程

在日常运维工作中,经常会查看占用当前系统CPU或内存使用率前几位的进程情况.下面列出这些查看的命令: 查看占用CPU最高的5个进程ps aux | sort -k3rn | head -5或者top (然后按下P,注意大写,CPU使用率降序) 查看占用内存最高的5个进程ps aux | sort -k4rn | head -5或者top (然后按下M,注意大写,内存使用率降序) 查看所有信息使用命令ps aux sort -rn 降序sort -k3rn 按照第三列降序 sort|uniq 排序

一个统计 CPU 内存 硬盘 使用率的shell脚本

一个统计 CPU 内存 硬盘 使用率的shell脚本,供大家学习参考 #!/bin/bash #This script is use for describle CPU Hard Memery Utilization total=0 idle=0 system=0 user=0 nice=0 mem=0 vmexec=/usr/bin/vmstat which sar > /dev/null 2>&1 if [ $? -ne 0 ] then ver=`vmstat -V | awk

linux上限制用户进程数、cpu占用率、内存使用率

限制进程CPU占用率的问题,给出了一个shell脚本代码如下: renice +10 `ps aux | awk '{ if ($3 > 0.8 && id -u $1 > 500) print $2}'` 其中用到ps获取进程信息,其实 ps中%CPU一列的意义是进程实际占有CPU时间和它存活时间的比值,这个值能反应进程对CPU的消耗,但不能准确反应进程所占CPU时间占整个系统CPU的百分比. 而top输出中的%CPU这一列正是进程所占CPU时间占整个系统CPU的百分比,用于