linux的系统信息理解

最近经常需要分析Linux系统的一些系统信息,这里整理一些常用的:

1. /proc目录介绍

linux并没有类似windows的任务管理器,linux将系统中的任务信息都放在/proc文件夹下,所以我们可以通过查看/proc文件夹下的内容获取系统的信息。在linux的/proc目录下,通过ls 命令查看文件夹内容:

linux的系统信息理解

/proc文件夹内容如下:

数字*

每一个数字都代表一个进程号(PID)

,每一个进程都对应着一个目录,

记录着进程的所有信息

self

该文件是一个软链接,指向了当前进程的目

录,通过访问/proc/self/目录来获取当前

进程的信息,就不用每次都获取pid

thread-self

该文件也是一个软链接,指向了当前线程

,访问该文件,等价于访问“当前进程

pid/task/当前线程tid”的内容。。

一个进程,可以包含多个线程,

但至少需要一个进程,

这些线程共同支撑进程的运行。 

version

记录了当前运行的内核版本

,通常可以使用“uname –r”命令查看 

cpuinfo  记录系统中CPU的提供商和相关配置信息 
modules  记录了目前系统加载的模块信息 
meminfo 

记录系统中内存的使用情况

,free命令会访问该文件,

来获取系统内存的空闲和已使用的数量

filesystems 

记录内核支持的文件系统类型

,通常mount一个设备时,

如果没有指定文件系统并且它无法确定

文件系统类型时,mount会尝试包含在该文件

中的文件系统,除了那些标有“nodev”的 

文件系统 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

查看CPU:

linux的系统信息理解

查看内核版本

使用命令 cat /proc/version 查看内核版本信息

linux的系统信息理解

另外,也可以通过 uname -a 命令查看内核版本:

linux的系统信息理解

使用命令 cat /proc/meminfo 查看内存信息

linux的系统信息理解

 

在实际应用中,我们是通过 free 命令读取内存信息:

linux的系统信息理解

使用命令 cat /proc/partitions 查看flash存储器容量信息

linux的系统信息理解

以mmcb开头的都是eMMC的数据块,那么我的eMMC的容量就是:

(7634944 + 512000 + 7020544 + 512 + 4096 + 4096) (block)

= 15176192 * 512 (byte)

= 5176192*512/1024/1024/1024  (GByte)

= 7.2 GByte

我的eMMC标称值为8G