zoukankan      html  css  js  c++  java
  • 查看CPU、内存、磁盘的使用情况

    --查看内存信息
    SELECT CEILING(total_physical_memory_kb * 1.0 / 1024 / 1024)  AS [物理内存大小]
        ,CAST(available_physical_memory_kb * 1.0 / 1024 / 1024
                           AS DECIMAL(8, 4)) AS [未使用的内存大小]
        ,CAST(( total_physical_memory_kb - available_physical_memory_kb ) * 1.0
        / 1024 / 1024 AS DECIMAL(8, 4))              AS [已使用的内存大小]
        ,CAST(system_cache_kb*1.0 / 1024/1024 AS DECIMAL(8, 4)) AS [系统缓存大小]
    FROM  sys.dm_os_sys_memory

    --查看CPU的型号
    EXEC xp_instance_regread
      'HKEY_LOCAL_MACHINE',
      'HARDWAREDESCRIPTIONSystemCentralProcessor',
      'ProcessorNameString';

    --查询每个磁盘的信息,包括已经使用的和未使用的信息
    SET NOCOUNT ON
    DECLARE @Result   INT;
    DECLARE @objectInfo   INT;
    DECLARE @DriveInfo   CHAR(1);
    DECLARE @TotalSize   VARCHAR(20);
    DECLARE @OutDrive   INT;
    DECLARE @UnitMB   BIGINT;
    DECLARE @FreeRat   FLOAT;
    SET @UnitMB = 1048576;
    --创建临时表保存服务器磁盘容量信息
    CREATE TABLE #DiskCapacity
    (
    [DiskCD]   CHAR(1) ,
    FreeSize   INT   ,
    TotalSize   INT
    );
    INSERT #DiskCapacity([DiskCD], FreeSize )
    EXEC master.dbo.xp_fixeddrives;
    EXEC sp_configure 'show advanced options', 1
    RECONFIGURE WITH OVERRIDE;
    EXEC sp_configure 'Ole Automation Procedures', 1;
    RECONFIGURE WITH OVERRIDE;
    EXEC @Result = master.sys.sp_OACreate 'Scripting.FileSystemObject',@objectInfo OUT;
    DECLARE CR_DiskInfo CURSOR LOCAL FAST_FORWARD
    FOR
    SELECT DiskCD FROM #DiskCapacity
    ORDER by DiskCD
    OPEN CR_DiskInfo;
    FETCH NEXT FROM CR_DiskInfo INTO @DriveInfo
    WHILE @@FETCH_STATUS=0
    BEGIN
    EXEC @Result = sp_OAMethod @objectInfo,'GetDrive', @OutDrive OUT, @DriveInfo
    EXEC @Result = sp_OAGetProperty @OutDrive,'TotalSize', @TotalSize OUT
    UPDATE #DiskCapacity
    SET TotalSize=@TotalSize/@UnitMB
    WHERE DiskCD=@DriveInfo
    FETCH NEXT FROM CR_DiskInfo INTO @DriveInfo
    END
    CLOSE CR_DiskInfo
    DEALLOCATE CR_DiskInfo;
    EXEC @Result=sp_OADestroy @objectInfo
    EXEC sp_configure 'show advanced options', 1
    RECONFIGURE WITH OVERRIDE;
    EXEC sp_configure 'Ole Automation Procedures', 0;
    RECONFIGURE WITH OVERRIDE;
    EXEC sp_configure 'show advanced options', 0
    RECONFIGURE WITH OVERRIDE;
    SELECT DiskCD   AS [Drive CD]   ,
      STR(TotalSize*1.0/1024,6,2)   AS [Total Size(GB)] ,
      STR((TotalSize - FreeSize)*1.0/1024,6,2)   AS [Used Space(GB)] ,
      STR(FreeSize*1.0/1024,6,2)   AS [Free Space(GB)] ,
      STR(( TotalSize - FreeSize)*1.0/(TotalSize)* 100.0,6,2) AS [Used Rate(%)]  ,
      STR(( FreeSize * 1.0/ ( TotalSize ) ) * 100.0,6,2)    AS [Free Rate(%)]
    FROM #DiskCapacity;
    DROP TABLE #DiskCapacity;

  • 相关阅读:
    第一课 GCC入门
    第二课客户端链接Linux系统
    2014目标!!!!
    第一课Linux系统安装知识(2)
    android开发系列之ContentObserver
    android开发系列之数据存储
    android开发系列之视频断点续传
    稻盛和夫系列之活法一
    android开发系列之使用xml自定义控件
    android开发系列之MVP设计模式
  • 原文地址:https://www.cnblogs.com/ziqiumeng/p/7747597.html
Copyright © 2011-2022 走看看