Linux中的内存分配和释放之mem_init()函数分析
void __init mem_init(void)
{
unsigned int codepages, datapages, initpages;
int i, node;
codepages = &_etext - &_text;//内核代码段的大小。
datapages = &_end - &__data_start;//内核数据段的大小。
initpages = &__init_end - &__init_begin;//内核初始化相关函数指针空间段的大小。
#ifndef CONFIG_DISCONTIGMEM//如果系统内存空间连续的话。
max_mapnr = virt_to_page(high_memory) - mem_map;//max_mapnr保存着最大低端内存页数。
#endif
if (meminfo.nr_banks != 1)//如果bank不止一个,说明可能存在内存孔洞。
create_memmap_holes(&meminfo);//对每个node的bank进行检查,只要发现前后属于这个node的相邻bank的收尾页号不一
//样的时候,我们就调用free_memmap(),这个函数首先通过页号转换成这两个页对应的
//struct page所在的虚拟地址,然后使这两个虚拟转换成物理地址,并且进行按页对齐,
&nbs
相关文档:
摘自http://blog.chinaunix.net/u3/108043/showart_2125958.html
Linux系统Load average负载详细解释
我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟、五分钟、以及十五分钟的系统平均负载
例如我的某台服务器:
$ uptime
09:50:21 up 200 days, 15:07, 1 user, load averag ......
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 1.core文件的生成开关和大小限制
1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 ......
1, 首先准备Linux环境, RedHat5.3的系统, jdk是1.6版本的,MyEclipse是7.0的, 连接时可以使用ssh或是crt进行windows与Linux的交流。
2,为了上传方便, 在时使用crt,他可以使上传,下载的速度更快。
3, 在Linux下创建比如说是jdk目录, 使用rz上传工具进行上传, 上传以后,赋予文件夹得权限,并且 ......
在root模式下: # #delete files in trash # #date:2010-3-5 # #maker:tootwo # dir=/root/.Trash [ -d $dir ] x=$? y=0 if test $x -eq $y then (for i in $dir/* do &nbs ......