我们接着干货:Linux 查询 OS、CPU、内存、硬盘、网卡等信息(一)继续实践。上一篇我们聊到了查看 CPU 型号,再看看查看 CPU 的详细信息
cat /proc/cpuinfo #CPU有多少个核就打印多少个核的信息,我们是16个核,就会打印16次,限于篇幅,我只截取了第一个核的信息。
查看CPU详细信息的另一种方法
lscpu 命令即可。
通过上面一顿操作,CPU的相关信息应该早已了然于胸了。接下来咱再看看内存相关的信息。
三、内存相关的信息
老规矩,为了下面的实践环节能聊在一个频道上,咱先对齐一些技术术语:
名词 | 含义 |
Mem | 内存的使用情况总览表 |
Swap | 虚拟内存。即可以把数据存放在硬盘上的数据,当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。SWAP意思是交换,顾名思义,当某进程向OS请求内存发现不足时,OS会把内存中暂时不用的数据交换出去,放在SWAP分区中,这个过程称为SWAP OUT。当某进程又需要这些数据且OS发现还有空闲物理内存时,又会把SWAP分区中的数据交换回物理内存中,这个过程称为SWAP IN。当然,swap大小是有上限的,一旦swap使用完,操作系统会触发OOM-Killer机制,把消耗内存最多的进程kill掉以释放内存。 |
shared | 共享内存,即和普通用户共享的物理内存值, 主要用于进程间通信 |
buffers | 用于存放要输出到disk(块设备)的数据的 |
cached | 存放从disk上读出的数据 |
total | 总的物理内存,total=used+free |
used | 使用掉的内存 |
free | 空闲的内存 |
有了前面这些术语的铺垫,下面咱动手查询下服务器内存。
补充说明一下:
linux内存管理机制的思想有点内存利用率最大化的味道。内核会把剩余的内存申请为cached,而cached不属于free范畴。当系统运行时间较久,会发现cached很大,对于有频繁文件读写操作的系统,这种现象会更加明显。直观的看,此时free的内存会非常小,但并不代表可用的内存小,当一个程序需要申请较大的内存时,如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存(其实还包括buffers)。
对于操作系统:
MemFree=total-used
MemUsed = MemTotal - MemFree
对于应用程序:
MemFree=buffers+cached+free
每隔3秒查询一下内存
free -s 3 #隔几秒就把前面的3换成几,自己掌握,不想看时就ctrl + c。
内存这么折腾几下,基本也就算了如指掌了。接下来再看看硬盘咋搞。
四、硬盘相关信息
查询磁盘整体使用情况
df -h 一下即可。其中-h是用方便人看的方式显示,具体点说就是用合适的单位显示合适的数,比如136G,如果单位换成M或K,是不是数字会很有视觉冲击力。
咱再引申拓展一下:
df -a 显示全部的文件系统的使用情况
df -i显示inode信息
df -k 已字节数显示区块占用情况
df -T 显示文件系统的类型
未完待续,你也可以加微信IEEE2000备注加群拉你入群和高手切磋交流。