Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

Android分析之LowMemoryKiller

Android分析之LowMemoryKiller

Linux操作系统的传统理念就是内存用的越多越好,尽可能拿来用,既然被尽量的使用,自然应该有清除机制。Android以Linux为基础,自然部分继承了这个特性。Android使用lowmemorykiller在达到某个内存门限的情况下去选择进程删除来释放内存。关键的配置文件有如下两个,/sys/module/lowmemorykiller/parameters/adj和/sys/module/lowmemorykiller/parameters/minfr...
Android low memory killer 详解

Android low memory killer 详解

Android在内存管理上与linux有些小的区别。其中一个就是引入了Low memory killer .1,引入原因 Android是一个多任务系统,也就是说可以同时运行多个程序,这个大家应该很熟悉。一般来说,启动运行一个程序是有一定的时间开销的,因此为了加快运行速度,当你退出一个程序时,Android并不会立即杀掉它,这样下次再运行该程序时,可以很快的启动。随着系统中保留的程序越来越多,内存肯定会出现不足,low memory killer就是在系...
将含有makefile文件的源码加入Eclipse工程

将含有makefile文件的源码加入Eclipse工程

很多软件在开发或者分析时需要一个像样的IDE,Eclipse是其中很优秀的一个,至少个人感觉很好用最近在分析一个源代码,需要把这个源码转换成Eclipse工程,经过Google搜索,步骤如下:1. 新建一个C++空工程,工程类型是makefile project,选择Linux GCC;2. 将源码连同makefile文件一同作为一个文件系统导入,File -> import -> General -> File System,选中要导入...
u-boot-2010.12移植到2440

u-boot-2010.12移植到2440

2010年初曾经将uboot 2009.11.1移植到我们自己做的一块2440单板上,该单板具有64M SDRAM 和64M nand FLASH,网卡为DM9000。最新版本的uboot源码有较大的变化,此次计划利用几天时间将最新版本的u-boot-2010.12移植到该单板 上,在此记录移植过程及遇到的问题以备忘并供朋友参考。移植的第一步当然是下载最新版本的uboot源码,下载地址如下:http://www.linuxidc.com/Linux/201...
Linux下使用diff和patch制作及打补丁

Linux下使用diff和patch制作及打补丁

在做开发的过程中难免需要给内核及下载的一些源码打补丁,所以我们先学习下Linux下使用如如何使用diff制作补丁以及如何使用patch打补丁。首先介绍一下diff和patch。1、diff--------------------NAME diff - find differences between two filesSYNOPSIS diff [options] from-file to-file--------------------简单的说,diff...
Linux内核编译图解

Linux内核编译图解

《Linux操作系统分析》第一个作业就是编译Linux内核,索性就做一个图文解析吧!编译用的环境是在VMware 7.0.0 build-203739下安装的Ubuntu 10.04 LTS版本,要安装的内核是Linux-2.6.26以防出现问题,先把虚拟机文件进行了备份。1.复制linux-2.6.26.tar.gz文件到usr/src2.在终端中进入usr/src 然后用tar命令解压压缩包3.为了方便,我们把文件名改为linux,将/usr/incl...
有关Java OutOfMemoryError

有关Java OutOfMemoryError

在开发的过程中,我们有时候会遇到java outofmemoy的错误发生,很多时候会让我们自己搞得也头雾水,完全不知如何下手,其实jdk本身就已经备有相应的工具给我们开发者使用来,也可以使用其他的第三方工具或插件来帮助我们解决问题。jdk带有的jconsole,可以用来观察jvm中各种性能指标参数。jdk5/jdk6中的jmap,是一个很好的用来heap dump机器的内存快照。加上参数:-XX:-HeapDumpOnOutOfMemoryError ,当...
Linux shell中数组的建立与使用

Linux shell中数组的建立与使用

Linux shell在编程方面比Windows 批处理强大太多,无论是在循环、运算。已经数据类型方面都是不能比较的。 下面是个人在使用时候,对它在数组方面一些操作进行的总结。 1.数组定义[www.linuxidc.com@linuxidc ~]$ a=(1 2 3 4 5)[www.linuxidc.com@linuxidc ~]$ echo $a1一对括号表示是数组,数组元素用“空格”符号分割开。2.数组读取与赋值得到长度: [www.linuxid...
Linux基础: 解密module_init幕后的故事

Linux基础: 解密module_init幕后的故事

在Linux底下写过driver模块的对这个宏一定不会陌生。module_init宏在MODULE宏有没有定义的情况下展开的内容是不同的,如果这个宏没有定义,基本上表明阁下的模块是要编译进内核的(obj-y)。1.在MODULE没有定义这种情况下,module_init定义如下:#define module_init(x) __initcall(x);因为#define __initcall(fn) device_initcall(fn)#define d...
Linux 驱动相关文件系统

Linux 驱动相关文件系统

1. /dev 设备文件目录,存放所有系统中device(设备)的相关信息。 /dev/snd:声卡设备2. /etc 系统配置文件3. /opt 表示可选择,自定义软件安装的地方4. /proc 操作系统运行时,进程相关信息,由系统动态生成。 /proc/ioports:可以查看I/O端口使用情况。 /proc/modules:系统加载的模块。5. /sys Linux 2.6内核支持的sysfs文件系统被映射在此目录。Linux 设备驱动模型中的总线、...
Linux-0.11 GCC4.3下可编译运行的源码

Linux-0.11 GCC4.3下可编译运行的源码

刚修复了集成盘在gcc 4.3下无法工作的问题。启动是只是显示“Loading System ...”1. 原因gcc 4.3对内存拷贝优化时出错,当然,glibc里头的memcpy是没有问题的,因为glibc中的memcpy实现方式不一样,但是linux-0.11里头的memcpy有问题。类似的 *p1=*p2 操作在gcc 4.3中会自动优化,而在4.3之前的版本会自动调用memcpy,所以这里我们把类似的 *p1=*p2 操作修改为 memcpy,但...
<< 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 >>