查看内存 free
free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 -b:以字节为单位显示。 -k:以K字节为单位显示。 -m:以兆字节为单位显示 总内存(Total):显示系统的总内存大小。 已使用内存(Used):显示当前已被分配和使用的内存大小。 剩余内存(Free):显示当前剩余可用的内存大小。 共享内存(Shared):显示被多个进程共享的内存大小。 缓存(Buffers):显示用于缓存文件系统数据的内存大小。 缓冲区(Cached):显示用于缓冲磁盘写操作的内存大小
查看硬盘命令
df命令以磁盘分区为单位查看文件系统中磁盘空间的使用情况 -h或--human-readable #使用人类可读的格式,这也是比较常见的查看方式 -i或--inode #查看分区inode使用情况 df命令 Filesystem:分区 1K-blocks:总块数 Used:已使用块数 Available:可使用块数 Use%:使用率 Mounted on:挂载目录
查看磁盘空间 du
-h 输出文件系统分区使用的情况,例如:10KB,10MB,10GB等 -s 显示文件或整个目录的大小,默认单位是KB 查看当前目录下:文件或目录的大小 du -sh * 查看当前目录大小 du -sh . xxx目录的大小 du -sh xxx xxx目录下子目录大小 du -sh xxx/*
fdisk -l 查看磁盘
-b 指定每个分区的大小 -l 列出指定的外围设备的分区表状况 -s 将指定的分区大小输出到标准输出上,单位为区块 -u 搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址 -v 显示版本信息 -m 查看全部可用参数 -n 添加新的分区 -d 删除某个分区信息 -t 改变某个分区的类型 -p 查看分区表信息 -w 保存并退出 -q 不保存直接退出
查看系统运行状态命令 top
top 第一行: 10:01:23 — 当前系统时间 126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过) 2 users — 当前有2个用户登录系统 load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。 第二行: Tasks — 任务(进程),系统现在共有183个进程,其中处于运行中的有1个,182个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。 第三行:cpu状态 6.7% us — 用户空间占用CPU的百分比。 0.4% sy — 内核空间占用CPU的百分比。 0.0% ni — 改变过优先级的进程占用CPU的百分比 92.9% id — 空闲CPU百分比 0.0% wa — IO等待占用CPU的百分比 0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比 0.0% si — 软中断(Software Interrupts)占用CPU的百分比 第四行:内存状态 8306544k total — 物理内存总量(8GB) 7775876k used — 使用中的内存总量(7.7GB) 530668k free — 空闲内存总量(530M) 79236k buffers — 缓存的内存量 (79M) 第五行:swap交换分区 2031608k total — 交换区总量(2GB) 2556k used — 使用的交换区总量(2.5M) 2029052k free — 空闲交换区总量(2GB) 4231276k cached — 缓冲的交换区总量(4GB) 第七行以下:各进程(任务)的状态监控 PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行)
磁盘iostat
如果 %iowait 较高,则表明磁盘存在 IO 瓶颈,如果 %idle 较高,则 CPU 比较空闲,如果两个值都比较高,则有可能 CPU 在等待分配内存,瓶颈在内存,此时应该加大内存,如果 %idle 较低,则此时瓶颈在 CPU,应该增加 CPU 资源。
iostat
iostat -x 用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息
查看cpu负载
uptime uptime 能够打印系统总共运行了多长时间和系统的平均负载,uptime命令最后输出的三个数字的含义分别是1分钟,5分钟,15分钟内系统的平均负荷;
ps
-e:显示系统中所有进程,而不仅仅是当前用户的进程。 -f:显示完整的进程信息,包括进程的父进程ID、CPU使用率、内存使用量等。 -l:以长格式显示进程信息,包括进程状态、运行时间等。 -u:显示与指定用户相关的进程信息。 -p:显示指定进程ID对应的进程信息
sar
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看 怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看 怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
tcpdump
tcpdump是一个网络数据包分析工具,可以捕获和解析从网络中传输的数据包,也是网工从业者的好帮手。 -i:指定要监听的网络接口,如eth0。 -n:不进行DNS反向查询,直接显示IP地址。 -A:以ASCII文本形式显示数据包内容。 -X:以16进制和ASCII文本混合形式显示数据包内容。 -q:快速模式,只显示关键信息,不输出详细信息。 -c:指定要捕获的数据包数量。 -s:指定要捕获的数据包长度。 -v:详细模式,显示更为详细的信息。 -vv:非常详细模式,显示更为详细的信息。 -w:将捕获到的数据包保存到文件中。 -r:读取保存在文件中的数据包。
权限相关:
groupadd 组名 (创建一个组) useradd -g 组名 用户名(创建一个用户,添加到指定组) passwd 用户名 (分配密码) su 用户名 (切换到指定用户) rwx 对应的命令 chmod 777 abc.sh
监控网络客户连接数: netstat -n | grep tcp | grep 侦听端口 | wc -l 监控网络客户连接数: netstat -n | grep tcp | grep 侦听端口 | wc -l