运营 | Linux 命令
在
Linux中,需要使用一些命令,以及一些相关的系统文件,用于获取Linux系统信息和监控资源信息。
🚗系统信息
1 uname命令用于显示系统信息
- 查看内核版本:
uname -r - 查看操作系统:
uname -a
- 查看内核版本
uname -r
cat /proc/version
- 查看发行版本
cat /etc/centos-release
cat /etc/redhat-release
2 CPU信息
lscpu命令用于显示CPU信息
-
标题
CPU架构信息Architecture:系统的CPU架构(例如:x86_64)CPU op-mode(s):CPU支持的操作模式(32位、64位)Byte Order:CPU字节序(大端序或小端序)
-
CPU拓扑结构信息CPU(s):逻辑CPU个数On-line CPU(s) list:CPU集合 0 ~ CPU个数Thread(s) per core: 每个物理核心的逻辑核心个数Core(s) per socket: 每个CPU插槽中的物理核心个数NUMA node(s): 可见的NUMA节点数Socket(s):CPU插槽数,一个插槽可以插入一个或多个物理CPU,每个物理CPU包含一个或多个物理核心。(1个主板上有2个CPU插槽,每个插槽中插有一个双路物理CPU,该系统的CPU插槽数是2,但实际的物理核心数是4)
-
CPU特性信息Vendor ID:CPU供应商ID(例如:GenuineIntel)CPU family:CPU系列Model:CPU型号Model name:CPU型号名称Stepping:CPU步进CPU MHz:CPU主频BogoMIPS:Linux内核计算出的每秒钟模拟的百万指令数Hypervisor vendor:虚拟机监控程序供应商:VMwareVirtualization:CPU是否支持虚拟化L1d cache:每个物理核心的L1数据缓存大小L1i cache:每个物理核心的L1指令缓存大小L2 cache:每个物理核心的L2缓存大小L3 cache:每个CPU插槽中的L3缓存大小
3 内存信息
free命令用于显示内存使用情况
free --help
-
清理缓存
-
清除
PageCache(页面高速缓存)sync && echo 1 > /proc/sys/vm/drop_caches
-
清除
dentries和inodes(目录项和索引节点)echo 2 > /proc/sys/vm/drop_caches
-
清除
PageCache、dentries和inodesecho 3 > /proc/sys/vm/drop_caches
-
#!bin/bash
echo 3 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches
4 硬盘信息
df(disk free)命令用于显示磁盘空间使用情况- 根目录
/仍然使用了 100% 的空间,可能会导致系统运行受阻,爬虫项目一定要做好数据清理,避免空间占满
df -h
Filesystem:文件系统的设备或挂载点。Size:文件系统的总容量。Used:文件系统已使用的空间。Avail:文件系统可用的空间。Use%:文件系统已使用空间的百分比。Mounted on:文件系统的挂载点。
du(disk use)查看使用空间的
du -h --max-depth=1 /
lsblk命令用于列出块设备(如磁盘分区)的信息
5 进程和系统负载
ps命令用于显示进程信息
-
显示所有进程:
ps auxps aux | grep 8006
- 按用户显示进程:
ps -U username - 按进程树显示:
ps -e --forest
top命令用于动态显示系统资源使用情况
服务在平稳运行一段时间后,CPU异常飙高,可以使用top命令确认异常飙高的进程。
- 使用
top命令查看哪个进程导致CPU飙高,获取PID - 使用
top -Hp PID对该进程下的线程进行观察,注意需要把十进制线程转为16进制 - 针对异常飙高的
Java进程,需要使用jstack pid进行多次DUMP,观察16进制线程
[root@localhost ~]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys, os
>>> hex(16)
'0x10'
>>>
6 日志文件
Linux 系统的日志文件通常存储在 /var/log 目录下,其中一些常见的日志文件包括:
- 系统日志:
/var/log/messages - 安全日志:
/var/log/secure
7. /proc 文件系统
Linux 提供了 /proc 文件系统,通过读取其中的文件,可以获取有关系统和进程的信息。
- CPU 信息:
/proc/cpuinfo - 内存信息:
/proc/meminfo - 进程信息:
/proc/[PID]/status
cat /proc/cpuinfo
cat /proc/meminfo
cat /proc/1234/status