linux cpu 内存 命令,Linux常用CPU内存管理命令

Centos系统,常用管理命令:

1、针对内核CPU调度器功能和性能的常用分析命令:

线程的状态分析主要是分析线程的时间用在什么地方,而线程状态的分类一般分为:

a. on-CPU:执行中,执行中的时间通常又分为用户态时间user和系统态时间sys。

b. off-CPU:等待下一轮上CPU,或者等待I/O、锁、换页等等,其状态可以细分为可执行、匿名换页、睡眠、锁、空闲等状态。

如果大量时间花在CPU上,对CPU的剖析能够迅速解释原因;如果系统时间大量处于off-cpu状态,定位问题就会费时很多。但是仍然需要清楚一些概念:

处理器

硬件线程

CPU内存缓存

时钟频率

每指令周期数CPI和每周期指令数IPC

CPU指令

使用率

用户时间/内核时间

调度器

运行队列

抢占

多进程

多线程

字长

命令

功能

uptime

平均负载

vmstat

包括系统范围的CPU平均负载

mpstat

查看所有CPU核信息

top

监控每个进程CPU用量

sar -u

查看CPU信息

pidstat

每个进程CPU用量分解

perf

cpu剖析和跟踪,性能计数分析

uptime,vmstat,mpstat,top,pidstat只能查询到cpu及负载的的使用情况。

perf可以跟着到进程内部具体函数耗时情况,并且可以指定内核函数进行统计,指哪打哪。

用法:

//查看系统cpu使用情况

top

//查看所有cpu核信息

mpstat -P ALL 1

//查看cpu使用情况以及平均负载

vmstat 1

//进程cpu的统计信息

pidstat -u 1 -p pid

//跟踪进程内部函数级cpu使用情况

perf top -p pid -e cpu-clock

2、内存相关命令

内存是为提高效率而生,实际分析问题的时候,内存出现问题可能不只是影响性能,而是影响服务或者引起其他问题。同样对于内存有些概念需要清楚:

主存

虚拟内存

常驻内存

地址空间

OOM

页缓存

缺页

换页

交换空间

交换

用户分配器libc、glibc、libmalloc和mtmalloc

LINUX内核级SLUB分配器

命令:

命令工具

功能

free

缓存容量统计信息

vmstat

虚拟内存统计信息

top

监视每个进程的内存使用情况

pidstat

显示活动进程的内存使用情况

pmap

查看进程的内存映像信息

sar -r

查看内存

dtrace

动态跟踪

valgrind

分析程序性能及程序中的央企泄露错误

free,vmstat,top,pidstat,pmap只能统计内存信息以及进程的内存使用情况。

valgrind可以分析内存泄漏问题。

dtrace动态跟踪。需要对内核函数有很深入的了解,通过D语言编写脚本完成跟踪。

使用方式

//查看系统内存使用情况

free -m

//虚拟内存统计信息

vmstat 1

//查看系统内存情况

top

//1s采集周期,获取内存的统计信息

pidstat -p pid -r 1

//查看进程的内存映像信息

pmap -d pid

//检测程序内存问题

valgrind --tool=memcheck --leak-check=full --log-file=./log.txt ./程序名

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值