如何查看linux 的cpuid

如何查看linux 的cpuid,第1张

1)查看RAM使用情况最简单的方法是通过 /proc/meminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free/ps/top)等的组合显示。/proc/meminfo列出了所有你想了解的内存的使用情况。$ cat /proc/meminfo2)free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。3)ps命令可以显示各个进程的内存使用情况、以及更详细的物理内存使用情况和虚拟内存使用情况。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:$ ps aux --sort -rss4)top命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。

方法一:ps命令可以显示各个进程的内存使用情况、以及更详细的物理内存使用情况和虚拟内存使用情况。你可以使用“–sort”选项对进程进行排序,例如按RSS进行排序:用法示例:$ ps aux --sort -rss方法二:top命令显示了每个进程的内存动态使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。用法示例:$ top方法三:查看虚拟文件/proc/meminfo可以查看内存的总体使用情况。这个动态更新的虚拟文件实际上是许多其它内存相关工具(如:free/ps/top)等的组合显示。但并不包含某一具体进程的内存使用情况。用法示例:$ cat /proc/meminfo

1、在Linux系统中通过C语言获取硬盘序列号,可以借助于ioctl()函数,该函数原型如下:

int ioctl(int fd, unsigned long request, ...) ioctl的第一个参数是文件标识符,用open()函数打开设备时获取。

ioctl第二个参数为用于获得指定文件描述符的标志号,获取硬盘序列号,一般指明为HDIO_GET_IDENTITY。

ioctl的第三个参数为一些辅助参数,要获取硬盘序列号,需要借助于struct hd_driveid结构体来保存硬盘信息 ,该结构体在Linux/hdreg.h中,struct hd_driveid的声明如下 struct hd_driveid {

unsigned short    config        / lots of obsolete bit flags */

unsigned short    cyls        /* Obsolete, "physical" cyls */

unsigned short    reserved2    /* reserved (word 2) */

unsigned short    heads        /* Obsolete, "physical" heads */

unsigned short    track_bytes    /* unformatted bytes per track */

unsigned short    sector_bytes    /* unformatted bytes per sector */

unsigned short    sectors    /* Obsolete, "physical" sectors per track */

unsigned short    vendor0    /* vendor unique */

unsigned short    vendor1    /* vendor unique */

unsigned short    vendor2    /* Retired vendor unique */

unsigned char    serial_no[20]    /* 0 = not_specified */

unsigned short    buf_type    /* Retired */

unsigned short    buf_size    /* Retired, 512 byte increments

* 0 = not_specified

*/

……

}

2、源代码如下

#include <stdio.h>

//ioctl()的声明头文件

#include <sys/ioctl.h>

//硬盘参数头文件, hd_driveid结构声明头文件

#include <linux/hdreg.h>

//文件控制头文件

#include <sys/fcntl.h>

int main()

{

   //用于保存系统返回的硬盘数据信息

   struct hd_driveid id

   //这里以第一块硬盘为例,用户可自行修改

   //用open函数打开获取文件标识符,类似于windows下的句柄

   int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK)

   //失败返回 

   if (fd < 0) {

     perror("/dev/sda")

     return 1 }

    //调用ioctl()

    if(!ioctl(fd, HDIO_GET_IDENTITY, &id))

     {

       printf("Serial Number=%s\n",id.serial_no)

     }

    return 0

}

编译完成后,执行效果如下:


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

原文地址:https://54852.com/yw/8298154.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存