linux的系统信息理解
最近经常需要分析Linux系统的一些系统信息,这里整理一些常用的:
1. /proc目录介绍
linux并没有类似windows的任务管理器,linux将系统中的任务信息都放在/proc文件夹下,所以我们可以通过查看/proc文件夹下的内容获取系统的信息。在linux的/proc目录下,通过ls 命令查看文件夹内容:
/proc文件夹内容如下:
数字* |
每一个数字都代表一个进程号(PID) ,每一个进程都对应着一个目录, 记录着进程的所有信息 |
self |
该文件是一个软链接,指向了当前进程的目 录,通过访问/proc/self/目录来获取当前 进程的信息,就不用每次都获取pid |
thread-self |
该文件也是一个软链接,指向了当前线程 ,访问该文件,等价于访问“当前进程 pid/task/当前线程tid”的内容。。 一个进程,可以包含多个线程, 但至少需要一个进程, 这些线程共同支撑进程的运行。 |
version |
记录了当前运行的内核版本 ,通常可以使用“uname –r”命令查看 |
cpuinfo | 记录系统中CPU的提供商和相关配置信息 |
modules | 记录了目前系统加载的模块信息 |
meminfo |
记录系统中内存的使用情况 ,free命令会访问该文件, 来获取系统内存的空闲和已使用的数量 |
filesystems |
记录内核支持的文件系统类型 ,通常mount一个设备时, 如果没有指定文件系统并且它无法确定 文件系统类型时,mount会尝试包含在该文件 中的文件系统,除了那些标有“nodev”的 文件系统 |
查看CPU:
查看内核版本
使用命令 cat /proc/version 查看内核版本信息
另外,也可以通过 uname -a 命令查看内核版本:
使用命令 cat /proc/meminfo 查看内存信息
在实际应用中,我们是通过 free 命令读取内存信息:
使用命令 cat /proc/partitions 查看flash存储器容量信息
以mmcb开头的都是eMMC的数据块,那么我的eMMC的容量就是:
(7634944 + 512000 + 7020544 + 512 + 4096 + 4096) (block)
= 15176192 * 512 (byte)
= 5176192*512/1024/1024/1024 (GByte)
= 7.2 GByte
我的eMMC标称值为8G