1,top命令。
1)进程是资源分配的最小单位。
比如Linux下每个进程约有1/100s的时间片执行命令
,由于操作系统不知道线程的存在,所以CPU将时间片分配给进程,进程的管理器将时间片分配线程。
线程是CPU调度的最小单位。线程是使用的进程获取到的时间片,执行线程命令。
查看zombie僵尸进程。ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
2)在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。
能够实时显示系统中各个进程的资源占用状况, 类似windows的资源管理器。
q:退出
%CPU:进程占用CPU的使用率
%MEM:进程使用的物理内存和总内存的百分比
第一行:系统时间、运行468天、当前5个用户登录、1分钟,5分钟,15分钟内的负载情况。
第二行:当前进程177、2个运行中、169个休眠(某个时间点上只有跟核数相同的进程处于running
)、3个停止、3个僵尸进程。
第三行:多个CPU(s)状态。用户态:进程执行用户自己的代码。内核态:各种系统调用。 用户态主要通过执行系统调用进入内核态
us:用户态user CPU time
sy:系统太system CPU time
ni:用户进程空间内改变过优先级的进程占用CPU百分比
id:空闲idle CPU百分比
wa:iowait CPU time
hi:硬件中断
si:软件中断
st:实时
第四行:内存状态。total 总内存12G、使用了6G、空闲5G、缓存74M
第五行:swap交换分区。交换区总量4.15G、使用的交换区48M、空闲交换区4.1G、缓冲的交换区总量156M
可用内存:free + buffers + cached
第六行:空行。
第七行以下:进程的状态监控。
PID: 进程id
User:进程所有者
PR:进程优先级
NI:负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。
VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在,CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称
3)top按数字 1,监控每个cpu的状况。
上图一共4个逻辑cpu。
b:Running高亮
shift + > 或者 shift + < 方向键排序 + x 高亮
f 进入flags field
2,查看机器基本配置
1)cat /proc/cpuinfo
查看cpu信息
model name : Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz cpu MHz : 2593.519 cache size : 20480 KB cpu cores : 1
grep MemTotal /proc/meminfo内存大小
,还可以使用free
命令查看内存
MemTotal: 1882312 kB
grep MemFree /proc/meminfo空闲内存大小
MemFree: 922136 kB
curl myip.ipip.net本机公网地址相关信息
2)CPU,核心,线程等信息
查看Cpu型号。sudo dmidecode -s processor-version
查看Cpu个数。grep 'physical id' /proc/cpuinfo | sort -u | wc -l
sort -u去重,wc -l 计数。
查看Cpu的核心数。grep 'core id' /proc/cpuinfo | sort -u | wc -l
查看Cpu的线程数。grep 'processor' /proc/cpuinfo | sort -u | wc -l
3)CPU 的线程数,只针对 Intel 的 CPU,通过 Intel 超线程技术来实现。
线程数等同于在某个瞬间 CPU 能同时并行处理的任务数。
一个核心就是一个物理线程,英特尔有个超线程技术可以把一个物理线程模拟出两个线程来用,充分发挥CPU性能。
3,查看磁盘信息。
df :
report file system disk space usage
df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G 6.0G 32G 16% /
devtmpfs 910M 0 910M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
df -i 查看磁盘的inode使用情况。
du命令- estimate file space usage
-h, --human-readable
-s, --summarize display only a total for each argument
du -sh * 不能显示隐藏的文件或文件夹。
du -h -d 1==du -h --max-depth=1 查看当前目录以及子目录所使用的空间。 (-h 以K,M,G为单位)
du -h max-depth=1 /home/zhanqi/ 指定目录
4,ps命令
ps是process state的简写,即进程相关指令。 两种风格,ps aux 以及 ps -ef。 后面均可使用管道 | grep "xxx"
5,netstat命令,返回信息
1)
netstat用于显示网络连接状态 -p 显示建立相关链接的程序名 常见的有,netstat -anp。可使用管道 | grep "xxx"
-a / --all 列出所有连线中的socket
-n/--numeric 使用ip地址,而不是域名
-p/ --programs 显示正在使用socket的程序名和PID
protocol Rec-Q send-Q LocalAddress ForeignAddress state PID/Program name
协议名tcp; 网络接收/发送队列0(表明没有packet堆积);本地ip:端口; 远程ip:端口;连接状态(ESTABLISHED表示正常数据传输状态);pid/应用程序名。