专栏首页DBA随笔Linux中的一些常用文件

Linux中的一些常用文件

Linux中的一些常用文件

简介

这两天做资源自动化交付的项目,写的脚本比较多 ,在写脚本的过程中,遇到了很多Linux中的常用文件,这里列举一下,希望对大家能有所帮助吧。

今天主要讲述的是/proc文件夹下面的几个常用文件。在Linux系统中,系统调用是操作系统提供给应用程序使用操作系统服务的重要接口,但同时也正是通过系统调用机制,操作系统屏蔽了用户直接访问系统内核的可能性。幸运的是Linux提供了LKM机制可以使我们在内核空间工作,在LKM机制中一个重要的组成部分就是proc伪文件系统,它为用户提供了动态操作Linux内核信息的接口,是除系统调用之外另一个重要的Linux内核空间与用户空间交换数据的途径。

Q:

/proc/meminfo文件里面保存了什么东西

/proc/meminfo是一个接口,它可以帮助我们了解系统内存的使用状况,我们最常用的free操作,vmstate操作都是通过它来获取数据的,这也就是说/proc/meminfo文件中包含的信息比上面两个命令都多,下面我们罗列一下比较重要的一些来做说明:

[root@tk-dba-mysql proc]# cat /proc/meminfo
MemTotal:        kB
MemFree:          kB
Buffers:           kB
Cached:           kB
SwapCached:         kB
Active:           kB
Inactive:         kB
Active(anon):     kB
Inactive(anon):   kB
Active(file):     kB
Inactive(file):   kB
Unevictable:       kB
Mlocked:           kB
SwapTotal:        kB
SwapFree:         kB
Dirty:                kB
Writeback:              kB
AnonPages:        kB
Mapped:            kB
Shmem:                 kB
Slab:              kB
SReclaimable:      kB
SUnreclaim:         kB
KernelStack:        kB
PageTables:         kB
NFS_Unstable:           kB
Bounce:                 kB
WritebackTmp:           kB
CommitLimit:     kB
Committed_AS:    kB
VmallocTotal:    kB
VmallocUsed:       kB
VmallocChunk:    kB
Hugepagesize:        kB
DirectMap4k:        kB
DirectMap2M:     kB

先来简单对一些重要的参数做下介绍吧,:

MemTotal:所有可用的RAM大小

MemFree:被系统留着未使用的内存

Buffers:用来给文件做缓冲的内存大小

Cached:被高速缓存使用的内存大小

SwapCached:被高速缓存使用的交换空间的大小

Active/Inactive:活跃/不活跃使用的高速缓存页面大小

SwapTotal:交换空间的总大小

SwapFree:未被使用的交换空间的大小

看到这里,有没有发现加粗的指标有些面熟,是不是想起了我们最常用的free命令的一些输出:

[root@tk-dba-mysql proc]# free -mt
             total       used       free     shared    buffers     cached
Mem:                                                
-/+ buffers/cache:             
Swap:                       
Total:                   

是的,这里的值就是通过在/proc/meminfo中的值经过换算得到的。

当然,还有其他一些信息在/proc/meminfo中,我们不在详细讲述,有兴趣的同学可以再研究研究,为什么到这里就截止了呢?在写脚本的过程中,经常会使用到当前的内存值,有时候觉得从free -mt中过滤比较麻烦,我们就使用cat /proc/meminfo|grep MemTotal的方法来进行过滤。

Q:

/proc/net/dev文件的内容

我们可以利用proc/net/dev来获取网卡的网速及网络包的收发情况,这个文件中保存了网络适配器和统计信息,也就是说,当前走流量的网卡信息都会存储在这个文件中:

Inter-|                   Receive                                                |  Transmit
 face |bytes          packets      errs  drop fifo frame compressed multicast    |bytes          packets      errs drop fifo colls carrier compressed
   lo:                                                                                  
 eth0:                                                                             

针对这里面的一些参数,我们做简单说明即可:

bytes:接口发送或接受的数据的总字节数

packets:接口发送或接受的数据包总数

errs:由设备驱动程序检测到的发送或接受错误的总数

drop:设备驱动程序丢弃的数据包总数

fifo:FIFO缓冲区错误的数量

frame:分组帧错误的数量

compressed:设备驱动程序发送或者接受的压缩数据包

multicast:设备驱动程序发送或接收的多播帧数

上面这些都是些常规介绍,我本人应用这个文件里面的内容主要是为了过滤网卡信息。

Q:

/proc/cpuinfo cpu信息?

这个文件中包含了cpu相关的内容,因为文件内容比较多,这里就不一一展示了,就给出一些这个文件的常用信息获取方法:

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数

# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq

# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

#查看cpu型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

每个物理CPU中逻辑CPU(可能是core, threads或both)的个数:
# cat /proc/cpuinfo | grep 'siblings'

本文分享自微信公众号 - DBA随笔(gh_acc2bbc0d447),作者:AsiaYe

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python解析文本时常用的几个函数

    今天在看监控信息采集的一个脚本,这个脚本是之前的同事写的,我们知道,监控项一般有很多,就拿MySQL来说,数据库的存活、buffer_pool大小、TP...

    AsiaYe
  • mysql时间和日期处理函数

    curdate和current_date函数都是返回当前日期值,格式为YYYY:MM:DD,可以看到curdate值+0返回的是数值格式的值。

    AsiaYe
  • MySQL错误日志激增案例

    今天中午,搭建好的一套主从环境中磁盘报警,登陆到相关环境,发现是MySQL的错误日志量非常大,于是使用tail -f命令查看了日志文件,发现该错误日志增长...

    AsiaYe
  • Hacker基础之Linux篇:基础Linux命令十六

    今天我们来学习几个小知识,不一定是Linux的命令,都是用于查看Linux的系统信息的

    用户1631416
  • Linux 内存参数详细说明

    在 Linux 下 free 命令可以看出系统当前内存状况,附上 -k , -m , -g 可以分别输出对应单位的内存状况:

    宋天伦
  • centos和rhel性能差别之谜

       貌似发现了centos和rhel性能差别之谜,其中一个关键的信息可以从识别的内存中看出,具体信息如下,虽然版本不一样,凑合着用。

    党志强
  • linux out of memory分析(OOM)

    原文:http://blog.csdn.net/guomsh/article/details/6536915

    一见
  • 云服务器 - 腾讯云主机信息

    无意间发现腾讯云服务器有个 云+ 校园 活动, 每月10 块钱一台 1 核 2 G 服务器, 还算比较划算,(其中错过了, 腾讯云修改配置可以360元五年 1核...

    AIHGF
  • Linux内存(手动释放cache)

    项目的扩容申请了一台机器,到手之后看一下机器的指标,看到内存使用情况是这样的。 1、查看内存 free $ free -h total...

    用户1225216
  • Linux 内存使用率

    PS:什么是SReclaimable?在linux内核中会有许多小对象,这些对象构造销毁十分频繁,比如i-node,dentry。那么这些对象如果每次构建的时候...

    踏歌行

扫码关注云+社区

领取腾讯云代金券