linux查看CPU和内存的使用情况

CPU使用情况

通常使用top命令查看CPU的当前状态,如果是多核CPU,也可以看到每核的信息

# top

执行后按数字1,可以显示多个CPU状态

例如:

Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

%us - 用户空间占用CPU百分比

%sy - 内核空间占用CPU百分比

%ni - 用户进程空间内改变过优先级的进程占用CPU百分比

%id - 空闲CPU百分比

%wa - IO等待占用CPU的百分比

%hi - 硬中断(Hardware IRQ)占用CPU的百分比

%si - 软中断(Software Interrupts)占用CPU的百分比

%us 和 %id 的值比较重要,系统请求压力大时,可以看到这两项的迅速变化

内存使用情况

top命令也可以看到当前的内存使用状况,但free命令更直观

free命令的结果信息项中有'free'一项,指当前空闲的内存大小,会发现这项的值总是很小,很多人不理解,以为内存快不够用了,其实不是的

简单说下linux的内存使用策略:内存是拿来用的,会尽量缓存常用的数据到内存中,提高系统性能,当应用程序需要更多的内存时,再去释放缓存

# free -m

-m 以M为单位显示结果数据

各列的含义:

total:总计物理内存的大小

used:已使用多大

free:空闲可用的有多少

Shared:多个进程共享的内存总额

Buffers/cached:磁盘缓存的大小,Buffers是系统存放需要写入磁盘数据的临时区域,cached是操作系统从磁盘中读取进来的缓存数据

第一行 Mem 是从操作系统的角度来看,Buffers/cached 都占用了内存,应该计入used,所以对于操作系统来说,used = 操作系统使用的内存 + 各个应用程序使用的内存 + Buffers + cached

第二行 (-/+ buffers/cached) 是从应用程序的角度来看,buffers/cached 是用来提高系统访问速度的,当应用程序需要更多内存时,buffers/cached是可以很快被回收的,所以对于应用程序来说,可用内存 = free + buffers + cached

第三行 Swap 交换分区 重点看 used 是否经常大于0 如果是,就要考虑增加内存了

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老马寒门IT

05-移动端开发教程-CSS3兼容处理

CSS3的标准并没有全部定稿,目前CSS3的标准分成了不同的模块,具体的标准由各个模块推动标准和定稿,标准制定的过程中,浏览器也在不断的发新的版本来兼容新的标准...

23960
来自专栏Web项目聚集地

IDEA入门级教程(文末常用快捷键)

IDEA相对于eclipse来说最大的优点就是它比eclipse聪明。聪明到什么程度呢?我们先来看几个简单的例子。

13830
来自专栏Jack-Cui

Jetson TX1开发笔记(二):TX1开发前必做的几件事

嵌入式平台: Jeston TX1     在上篇博客中,博主已经使用Jetpack3.0为Jetson TX1刷了最新的系统。但是,在开发前,个人感觉有几个...

36060
来自专栏游戏杂谈

Unity设置播放模式下始终先执行指定的场景

通过我们使用Unity开发游戏,是在PC/Mac上。而一个游戏通常也会有很多的场景,比如A、B、C、D三个场景,正常流程下的执行顺序是 A –> B –> C ...

57920
来自专栏企鹅号快讯

加速 Webpack

作者:吴浩麟 https://www.ibm.com/developerworks/cn/web/wa-lo-expedite-webpack/index.ht...

29750
来自专栏Java技术分享

基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能给系统用户更好的操作体验,也提高了用户录入数据的效率。我...

26370
来自专栏Jerry的SAP技术分享

SAP CRM和C4C的客户主数据修改历史记录查询

Change History assignment block里显示出了这条修改记录:

33120
来自专栏云飞学编程

Python爬虫技巧!网站有反爬?我们有selenium!

框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从...

71110
来自专栏Windows Community

Windows 8.1 应用再出发 - 创建我的第一个应用

转眼间Windows 8.1已经发布了四个多月,之前因为开发需要对Windows 8.1新特性进行过零散的学习和使用,一直没有静下心来系统的学习过。近日部门有几...

368120
来自专栏小古哥的博客园

gulp的安装和使用

安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务 1、去nodejs官网安装n...

29250

扫码关注云+社区

领取腾讯云代金券