1. 查看内存和CPU信息
cat /proc/cpuinfo cpu信息
cat /proc/meminfo |grep MemTotal 内存信息
查看物理cpu个数:cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
查看逻辑cpu个数:cat /proc/cpuinfo | grep 'processor' | wc -l
查看单cpu是几核:cat /proc/cpuinfo | grep 'cores' |uniq
查看cpu主频: cat /proc/cpuinfo | grep 'MHz'
查看cpu是32位还是64位: getconf LONG_BIT
echo $HOSTTYPE
uname -a
2. 查看主机运行时间和Linux系统负载
uptime
[linux @ localhost]$ uptime 10:19:04 up 257 days, 18:56, 12 users, load average: 2.10, 2.10,2.09
10:19:04 //系统当前时间
up 257 days, 18:56 //主机已运行时间,时间越大,说明你的机器越稳定。
12 user //用户连接数,是总连接数而不是用户数
load average // 系统平均负载,统计最近1,5,15分钟的系统平均负载
信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。系统平均负载是指在特定时间间隔内运行队列中的平均进程数。在0.00-1.00之间正常。
3. 实时监控CPU
top
top:实时显示系统中各个进程的资源占用情况,类似于windows的任务管理器。
15:39:48 当前系统时间
up 293 days, 21:48 已经运行了293天21小时48分
3 users 当前有3个用户登录
load average: 0.01, 0.04, 0.09 分别为1分钟,5分钟,15分钟的系统负载。这个数除以逻辑CPU的数量,如果大于5,说明系统在超负荷运行了
在Linux系统中,一般把进程和线程统称为任务
共有279个进程,其中1个在运行(running),278个休眠(sleeping),0个停止(stopped),0个僵尸(zombie)
CPU使用情况:us(用户空间)占用的CPU百分比
sy(内核空间)
ni(改变过优先级的进程)
id(空闲)
wa(IO等待)
hi(硬中断)
si(软中断)
第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。
如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存:18537836k +169884k +3612636k = 22GB左右。
对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。
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 — 进程名称(命令名/命令行)
4. 实时监控内存
free
free:显示系统使用和空闲的内存情况,包括物理内存、交互区内存(swap)和内核缓冲区内存
查看内存实时情况
free –h (以G为单位)
free –m (以M为单位)
free (以K为单位)
free –s 10(间隔10s刷新一次)周期性查看内存使用情况