上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 121 下一页

2014年12月28日

每CPU变量

摘要: 最好的同步技术是把设计不需要同步的临界资源放在首位,这是一种思维方法,因为每一种显式的同步原语都有不容忽视的性能开销。最简单也是最重要的同步技术包括把内核变量或数据结构声明为每CPU变量(per-cpu variable)。每CPU变量主要是数据结构的数组,系统的每个CPU对应数组的一个元素。一个... 阅读全文

posted @ 2014-12-28 01:40 疯子123 阅读(151) 评论(0) 推荐(0) 编辑

linux内核中的每cpu变量

摘要: 一、linux中的每cpu变量 看linux内核代码的时候,会发现大量的per_cpu(name, cpu),get_cpu_var(name)等出现cpu字眼的语句。从语句的意思可以看出是要使用与当前cpu相关的一个变量,不过查看这个变量的定义,总是有这样一个宏:DEFINE_PER_CPU(... 阅读全文

posted @ 2014-12-28 01:32 疯子123 阅读(167) 评论(0) 推荐(0) 编辑

Linux测量kernel子模块加载时间的方法

摘要: 1. 在文件kernel/init/main.c里面,在接口do_one_initcall( )中,将initcall_debug设置为true,然后编译boot.img2. 使用adb shell cat /proc/kmsg | grep initcall 来查看模块加载时间 阅读全文

posted @ 2014-12-28 01:20 疯子123 阅读(132) 评论(0) 推荐(0) 编辑

Linux 性能监测:Network

摘要: 网络的监测是所有 Linux 子系统里面最复杂的,有太多的因素在里面,比如:延迟、阻塞、冲突、丢包等,更糟的是与 Linux 主机相连的路由器、交换机、无线信号都会影响到整体网络并且很难判断是因为 Linux 网络子系统的问题还是别的设备的问题,增加了监测和判断的复杂度。现在我们使用的所有网卡都称... 阅读全文

posted @ 2014-12-28 01:17 疯子123 阅读(261) 评论(0) 推荐(0) 编辑

Linux 性能监测:IO

摘要: 磁盘通常是计算机最慢的子系统,也是最容易出现性能瓶颈的地方,因为磁盘离 CPU 距离最远而且 CPU 访问磁盘要涉及到机械操作,比如转轴、寻轨等。访问硬盘和访问内存之间的速度差别是以数量级来计算的,就像1天和1分钟的差别一样。要监测 IO 性能,有必要了解一下基本原理和 Linux 是如何处理硬盘... 阅读全文

posted @ 2014-12-28 01:14 疯子123 阅读(162) 评论(0) 推荐(0) 编辑

Linux 性能监测:Memory

摘要: 这里的讲到的 “内存” 包括物理内存和虚拟内存,虚拟内存(Virtual Memory)把计算机的内存空间扩展到硬盘,物理内存(RAM)和硬盘的一部分空间(SWAP)组合在一起作为虚拟内存为计算机提供了一个连贯的虚拟内存空间,好处是我们拥有的内存 ”变多了“,可以运行更多、更大的程序,坏处是把部分... 阅读全文

posted @ 2014-12-28 01:10 疯子123 阅读(152) 评论(0) 推荐(0) 编辑

Linux 性能监测:CPU

摘要: CPU 的占用主要取决于什么样的资源正在 CPU 上面运行,比如拷贝一个文件通常占用较少 CPU,因为大部分工作是由 DMA(Direct Memory Access)完成,只是在完成拷贝以后给一个中断让 CPU 知道拷贝已经完成;科学计算通常占用较多的 CPU,大部分计算工作都需要在 CPU 上... 阅读全文

posted @ 2014-12-28 01:05 疯子123 阅读(187) 评论(0) 推荐(0) 编辑

Linux 性能监测:介绍

摘要: 看了某某教程、读了某某手册,按照要求改改某某设置、系统设定、内核参数就认为做到系统优化的想法很傻很天真:)系统优化是一项复杂、繁琐、长期的工作,优化前需要监测、采集、测试、评估,优化后也需要测试、采集、评估、监测,而且是一个长期和持续的过程,不是说现在优化了,测试了,以后就可以一劳永逸了,也不是说... 阅读全文

posted @ 2014-12-28 01:02 疯子123 阅读(161) 评论(0) 推荐(0) 编辑

linux2.6.37内核接两个硬盘导致读写效率变低的问题

摘要: 一、问题分析:通过跟踪定位write系统调用的实现发现,在每次调用a_ops->write_end之后,都会去调用balance_dirty_pages_ratelimited,该函数负责检查当前系统总的脏页数是否超过阀值(ratelimit_pages),如果超过,就会去调用balance_di... 阅读全文

posted @ 2014-12-28 00:51 疯子123 阅读(272) 评论(0) 推荐(0) 编辑

使用kprobes查看内核内部信息

摘要: 前言:使用printk打印变量等方法,是调试内核的有效方法之一,但是这种方法必须重新构建并用新内核启动,调试效率比较低。以内核模块的方式使用kprobes、jprobes,就可以在任意地址插入侦测器,执行包括printk在内的各种调试工作,而无须重新构建内核,也无须重启。一、首先内核必须支持kpr... 阅读全文

posted @ 2014-12-28 00:47 疯子123 阅读(344) 评论(0) 推荐(0) 编辑

上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 121 下一页

导航