linux系统下服务器插槽磁盘信息这些信息我应该怎么获得

linux系统下服务器插槽磁盘信息这些信息我应该怎么获得,第1张

1,Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu,在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。

其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到 flags 如果有 ht 说明支持超线程技术 判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理CPU

2,查看内存大小:

cat /proc/meminfo |grep MemTotal

3,其他一些可以查看详细linux系统信息的命令和方法:

uname -a # 查看内核/ *** 作系统/CPU信息的linux系统信息命令

head -n 1 /etc/issue # 查看 *** 作系统版本,是数字1不是字母L

cat /proc/cpuinfo # 查看CPU信息的linux系统信息命令

hostname # 查看计算机名的linux系统信息命令

lspci -tv # 列出所有PCI设备

lsusb -tv # 列出所有USB设备的linux系统信息命令

lsmod # 列出加载的内核模块

env # 查看环境变量资源

free -m # 查看内存使用量和交换区使用量

df -h # 查看各分区使用情况

du -sh # 查看指定目录的大小

grep MemTotal /proc/meminfo # 查看内存总量

grep MemFree /proc/meminfo # 查看空闲内存量

uptime # 查看系统运行时间、用户数、负载

cat /proc/loadavg # 查看系统负载磁盘和分区

mount | column -t # 查看挂接的分区状态

fdisk -l # 查看所有分区

swapon -s # 查看所有交换分区

hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)

dmesg | grep IDE # 查看启动时IDE设备检测状况网络

ifconfig # 查看所有网络接口的属性

iptables -L # 查看防火墙设置

route -n # 查看路由表

netstat -lntp # 查看所有监听端口

netstat -antp # 查看所有已经建立的连接

netstat -s # 查看网络统计信息进程

ps -ef # 查看所有进程

top # 实时显示进程状态用户

w # 查看活动用户

id # 查看指定用户信息

last # 查看用户登录日志

cut -d: -f1 /etc/passwd # 查看系统所有用户

cut -d: -f1 /etc/group # 查看系统所有组

crontab -l # 查看当前用户的计划任务服务

chkconfig –list # 列出所有系统服务

chkconfig –list | grep on # 列出所有启动的系统服务程序

rpm -qa # 查看所有安装的软件包

cat /proc/cpuinfo :查看CPU相关参数的linux系统命令

cat /proc/partitions :查看linux硬盘和分区信息的系统信息命令

cat /proc/meminfo :查看linux系统内存信息的linux系统命令

cat /proc/version :查看版本,类似uname -r

cat /proc/ioports :查看设备io端口

cat /proc/interrupts :查看中断

cat /proc/pci :查看pci设备的信息

cat /proc/swaps :查看所有swap分区的信息

总的来说 FRAMEWORK 好像不提供这些功能,如果你想调用的话,就得C#内调 USR32DLL 这些系统内部的DLL文件

下面是我以前复制来的,总的道理就是 调用USER32DLL 然后用它里面的函数初始化C#结构,里面有各种硬件信息

using System;

using SystemCollectionsGeneric;

using SystemDiagnostics;

using SystemThreading;

using SystemIO;

using SystemText;

using SystemManagement;

using SystemRuntimeInteropServices;

namespace LemonySystemInfo

{

///

/// 系统信息类 - 获取CPU、内存、磁盘、进程信息

///

public class SystemInfo

{

private int m_ProcessorCount = 0; //CPU个数

private PerformanceCounter pcCpuLoad; //CPU计数器

private long m_PhysicalMemory = 0; //物理内存

private const int GW_HWNDFIRST = 0;

private const int GW_HWNDNEXT = 2;

private const int GWL_STYLE = (-16);

private const int WS_VISIBLE = 268435456;

private const int WS_BORDER = 8388608;

#region AIP声明

[DllImport("IpHlpApidll")]

extern static public uint GetIfTable(byte[] pIfTable, ref uint pdwSize, bool bOrder);

[DllImport("User32")]

private extern static int GetWindow(int hWnd, int wCmd);

[DllImport("User32")]

private extern static int GetWindowLongA(int hWnd, int wIndx);

[DllImport("user32dll")]

private static extern bool GetWindowText(int hWnd, StringBuilder title, int maxBufSize);

[DllImport("user32", CharSet = CharSetAuto)]

private extern static int GetWindowTextLength(IntPtr hWnd);

#endregion

#region 构造函数

///

/// 构造函数,初始化计数器等

///

public SystemInfo()

{

//初始化CPU计数器

pcCpuLoad = new PerformanceCounter("Processor", "% Processor Time", "_Total");

pcCpuLoadMachineName = "";

pcCpuLoadNextValue();

//CPU个数

m_ProcessorCount = EnvironmentProcessorCount;

//获得物理内存

ManagementClass mc = new ManagementClass("Win32_ComputerSystem");

ManagementObjectCollection moc = mcGetInstances();

foreach (ManagementObject mo in moc)

{

if (mo["TotalPhysicalMemory"] != null)

{

m_PhysicalMemory = longParse(mo["TotalPhysicalMemory"]ToString());

}

}

}

#endregion

#region CPU个数

///

/// 获取CPU个数

///

public int ProcessorCount

{

get

{

return m_ProcessorCount;

}

}

#endregion

#region CPU占用率

///

/// 获取CPU占用率

///

public float CpuLoad

{

get

{

return pcCpuLoadNextValue();

}

}

#endregion

#region 可用内存

///

/// 获取可用内存

///

public long MemoryAvailable

{

get

{

long availablebytes = 0;

//ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT FROM Win32_PerfRawData_PerfOS_Memory");

//foreach (ManagementObject mo in mosGet())

//{

// availablebytes = longParse(mo["Availablebytes"]ToString());

//}

ManagementClass mos = new ManagementClass("Win32_OperatingSystem");

foreach (ManagementObject mo in mosGetInstances())

{

if (mo["FreePhysicalMemory"] != null)

{

availablebytes = 1024 longParse(mo["FreePhysicalMemory"]ToString());

}

}

return availablebytes;

}

}

#endregion

#region 物理内存

///

/// 获取物理内存

///

public long PhysicalMemory

{

get

{

return m_PhysicalMemory;

}

}

#endregion

#region 获得分区信息

///

/// 获取分区信息

///

public List GetLogicalDrives()

{

List drives = new List();

ManagementClass diskClass = new ManagementClass("Win32_LogicalDisk");

ManagementObjectCollection disks = diskClassGetInstances();

foreach (ManagementObject disk in disks)

{

// DriveTypeFixed 为固定磁盘(硬盘)

if (intParse(disk["DriveType"]ToString()) == (int)DriveTypeFixed)

{

drivesAdd(new DiskInfo(disk["Name"]ToString(), longParse(disk["Size"]ToString()), longParse(disk["FreeSpace"]ToString())));

}

}

return drives;

}

///

/// 获取特定分区信息

///

/// 盘符

public List GetLogicalDrives(char DriverID)

{

List drives = new List();

WqlObjectQuery wmiquery = new WqlObjectQuery("SELECT FROM Win32_LogicalDisk WHERE DeviceID = ’" + DriverID + ":’");

ManagementObjectSearcher wmifind = new ManagementObjectSearcher(wmiquery);

foreach (ManagementObject disk in wmifindGet())

{

if (intParse(disk["DriveType"]ToString()) == (int)DriveTypeFixed)

{

drivesAdd(new DiskInfo(disk["Name"]ToString(), longParse(disk["Size"]ToString()), longParse(disk["FreeSpace"]ToString())));

}

}

return drives;

}

#endregion

#region 获得进程列表

///

/// 获得进程列表

///

public List GetProcessInfo()

{

List pInfo = new List();

Process[] processes = ProcessGetProcesses();

foreach (Process instance in processes)

{

try

{

pInfoAdd(new ProcessInfo(instanceId,

instanceProcessName,

instanceTotalProcessorTimeTotalMilliseconds,

instanceWorkingSet64,

instanceMainModuleFileName));

}

catch { }

}

return pInfo;

}

///

/// 获得特定进程信息

///

/// 进程名称

public List GetProcessInfo(string ProcessName)

{

List pInfo = new List();

Process[] processes = ProcessGetProcessesByName(ProcessName);

foreach (Process instance in processes)

{

try

{

pInfoAdd(new ProcessInfo(instanceId,

instanceProcessName,

instanceTotalProcessorTimeTotalMilliseconds,

instanceWorkingSet64,

instanceMainModuleFileName));

}

catch { }

}

return pInfo;

}

#endregion

#region 结束指定进程

///

/// 结束指定进程

///

/// 进程的 Process ID

public static void EndProcess(int pid)

{

try

{

Process process = ProcessGetProcessById(pid);

processKill();

}

catch { }

}

#endregion

#region 查找所有应用程序标题

///

/// 查找所有应用程序标题

///

/// 应用程序标题范型

public static List FindAllApps(int Handle)

{

List Apps = new List();

int hwCurr;

hwCurr = GetWindow(Handle, GW_HWNDFIRST);

while (hwCurr > 0)

{

int IsTask = (WS_VISIBLE | WS_BORDER);

int lngStyle = GetWindowLongA(hwCurr, GWL_STYLE);

bool TaskWindow = ((lngStyle & IsTask) == IsTask);

if (TaskWindow)

{

int length = GetWindowTextLength(new IntPtr(hwCurr));

StringBuilder sb = new StringBuilder(2 length + 1);

GetWindowText(hwCurr, sb, sbCapacity);

string strTitle = sbToString();

if (!stringIsNullOrEmpty(strTitle))

{

AppsAdd(strTitle);

}

}

hwCurr = GetWindow(hwCurr, GW_HWNDNEXT);

}

return Apps;

}

#endregion

}

}

看内存,右键我的电脑属性,就有了。 硬盘 控制面板,管理工具,计算机管理,磁盘管理。

如果你 是要买2手的 最好带张系统盘 从新装系统再看 ,因为有的奸商修改注册表,让你看不 到真正的容量。

以上就是关于linux系统下服务器插槽磁盘信息这些信息我应该怎么获得全部的内容,包括:linux系统下服务器插槽磁盘信息这些信息我应该怎么获得、C#读取某台服务器的硬件信息(winform实现)、怎么查看服务器的硬盘容量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9830252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存