最近在学点运维知识 就简单记录一下遇到的知识点
一、查看服务器的内存以及内核
1、显示内存为kb
free
2、显示内存为G
free -h
3、查看内存信息
cat /proc/meminfo
4、查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
5、查看每个物理CPU中核数
cat /proc/cpuinfo| grep "cpu cores"| uniq
6、查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
7、查看CPU型号
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
二、Linux mem/swap/buffers/cached区别
buff/cache列占用过高
buff/cache主要干啥来的?
Linux具有先进的缓存机制,会针对dentry(用于VFS-虚拟文件系统,加速文件路径名到inode的转换)、buffer cache(针对磁盘块的读,写)和 page cache(针对文件 inode 的读写)进行缓存操作来提高读写效率。但是在进行了大量文件操作之后,缓存会把内存资源基本用完,虽然文件读取效率提高了,但是物理内存会被逐渐吃完。
原来是因为系统进行了频繁的文件读写操作,但是为什么操作系统不会主动回收呢,原来是因为drop_caches 的默认参数设置的就是不释放。
drop_caches 的值可以是 0-3 之间的数字,代表不同的含义:
0:不释放(系统默认值)
1:释放页缓存
2:释放dentries和inode
3:释放所有缓存
修改:# echo 1 > /proc/sys/vm/drop_caches
注意!!