LXR | KVM | PM | Time | Interrupt | Systems Performance | Bootup Optimization

随笔分类 -  Linux相关学习总结

《嵌入式Linux内存使用与性能优化》笔记
摘要:这本书有两个关切点:系统内存(用户层)和性能优化。 这本书和Brendan Gregg的《Systems Performance》相比,无论是技术层次还是更高的理论都有较大差距。但是这不影响,快速花点时间简单过一遍。 然后在对《Systems Performance》进行详细的学习。 由于Ubunt 阅读全文

posted @ 2017-11-20 15:18 ArnoldLu 阅读(10707) 评论(1) 推荐(0) 编辑

ELF格式文件分析以及运用
摘要:基于本文的一个实践《使用Python分析ELF文件优化Flash和Sram空间的案例》。 1.背景 ELF是Executable and Linkable Format缩写,其官方规范在《Tools Interface Standard Executable and Linkable Format 阅读全文

posted @ 2017-07-08 14:19 ArnoldLu 阅读(5167) 评论(0) 推荐(0) 编辑

Busybox下Bootchart的使用
摘要:Busybox包含了很多小工具,这些工具短小精悍有效。bootchartd就是其中之一。 Bootchart is a tool for performance analysis and virtualization of the GNU/Linux boot process. Resource u 阅读全文

posted @ 2017-05-16 15:29 ArnoldLu 阅读(186) 评论(0) 推荐(0) 编辑

Linux下一个GUI界面界面移植性能分析
该文被密码保护。

posted @ 2017-05-11 15:45 ArnoldLu 阅读(9) 评论(0) 推荐(0) 编辑

Linux内核中的算法和数据结构
摘要:算法和数据结构纷繁复杂,但是对于Linux Kernel开发人员来说重点了解Linux内核中使用到的算法和数据结构很有必要。 在一个国外问答平台stackexchange.com的Theoretical Computer Science子板有一篇讨论实际使用中的算法和数据结构,Vijay D做出了详 阅读全文

posted @ 2017-04-12 14:40 ArnoldLu 阅读(11008) 评论(0) 推荐(0) 编辑

swap分析及其使用
摘要:什么是swap swap主要是在内存不够用的时候,将部分内存上的数据交换到swap空间上,以便让系统不会因为内存不够用而导致oom或者更致命的情况出现。当内存使用存在压力的时候,开始触发内存回收行为,就可能会使用swap空间。 内核将很少使用的部分内存换出到块设备,相当于提供了更多的主内存,这种机制 阅读全文

posted @ 2017-01-20 16:08 ArnoldLu 阅读(10533) 评论(0) 推荐(1) 编辑

Android/Linux boot time分析优化
摘要:如果需要优化boot time,就需要一个量化的工具来分析每个阶段的时间消耗。这种类型的优化特别适合使用基于timeline的图表,有着明显的时间顺序。要求不但能给出整个流程消耗的时间,还要能对流程进行细化,获得每个阶段的时间。先从总体上查看优化程度,然后逐个查看异常的阶段。 分析工具化之后,可以快 阅读全文

posted @ 2017-01-09 23:56 ArnoldLu 阅读(5812) 评论(0) 推荐(0) 编辑

系统级性能分析工具perf的介绍与使用
摘要:测试环境:Ubuntu16.04 + Kernel:4.4.0-31 系统级性能优化通常包括两个阶段:性能剖析(performance profiling)和代码优化。 性能剖析的目标是寻找性能瓶颈,查找引发性能问题的原因及热点代码。 代码优化的目标是针对具体性能问题而优化代码或编译选项,以改善软件 阅读全文

posted @ 2017-01-04 21:13 ArnoldLu 阅读(223342) 评论(1) 推荐(12) 编辑

Linux CGroup之freezer分析与应用
摘要:Linux Kernel:4.4.17 CGroup的freezer子系统对于成批作业管理系统很有用,可以成批启动/停止任务,以达到及其资源的调度。 freezer子系统也有助于针对运行一组任务设置检查点。通过强制一组任务进入静默状态(quiescent state),freezer子系统可以获得任 阅读全文

posted @ 2016-12-28 14:30 ArnoldLu 阅读(7362) 评论(0) 推荐(1) 编辑

编译自己的Ubuntu内核
摘要:很多时候我们在使用Ubuntu的时候,想修改一下内核配置,然后编译,安装到Ubuntu中。这也是进行Ubuntu内核开发的前提。 获取当前Ubuntu对应代码 有很多方法可以获得Ubuntu内核代码,但是下面两种非常方便。 uname -r显示当前内核的版本号,apt-get source则用来获取 阅读全文

posted @ 2016-12-28 09:25 ArnoldLu 阅读(15512) 评论(0) 推荐(0) 编辑

Linux常用获取进程占用资源情况手段
摘要:测试环境:Ubuntu14.04 1. 获取进程ID号 ps -aux | grep your_process_name 例如: xxx@xxx:~$ ps -e |grep Midlet|awk '{print $1}' 9356 2. 查看进程相关信息 2.1 查看进程树信息: xxx@xxx: 阅读全文

posted @ 2016-12-22 15:52 ArnoldLu 阅读(3695) 评论(0) 推荐(0) 编辑

Ubuntu上基于开源代码PhoneMe的J2ME环境搭建及使用
摘要:测试环境:Ubuntu 14.04.5 LTS J2ME背景知识及PhoneME介绍 J2ME相关介绍 在正式开始介绍J2ME之前,这里我列出一些常见名词,方便与下文参照:J2ME(Java2 Platform, Micro Edition) Java2平台微型版CLDC(Connected, Li 阅读全文

posted @ 2016-12-22 14:41 ArnoldLu 阅读(25) 评论(0) 推荐(0) 编辑

Android/Linux下CGroup框架分析及其使用
摘要:1 cgroup介绍 CGroup是control group的简称,它为Linux kernel提供一种任务聚集和划分的机制,可以限制、记录、隔离进程组(process groups)所使用的资源(cpu、memory、I/O等)。CGroup也是LXC为实现虚拟化所使用的资源管理手段。CGrou 阅读全文

posted @ 2016-12-21 17:26 ArnoldLu 阅读(14568) 评论(0) 推荐(0) 编辑

导航