
Linux
xumaojun
这个作者很懒,什么都没留下…
展开
-
一次内存泄露问题的排查
系统对外提供的Solr查询接口,在来自外部调用的压力加大之后,就会出现solr查询报Read Timed Out的异常,从表面现象上看是此时solr核压力过大,无法响应过多的查询请求。 但实际上此时并发查询压力并不是很大,那么为何solr核会无法及时响应查询请求呢?首先用top查看了下load average,也是很低,也佐证了系统本身压力并不大。 然后,用转载 2012-04-29 23:20:01 · 859 阅读 · 0 评论 -
u-boot源码分析
本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下转载 2012-09-27 13:33:43 · 1297 阅读 · 0 评论 -
全面分析CRC算法
result = ~crcGetRegisters(); // 填写FCS,先低后高 ppp[11] = result & 0xff; ppp[12] = (result >> 8) & 0xff; /////////// 以下验证FCS // 初始化 crcInitRegisters转载 2012-09-27 13:32:11 · 1066 阅读 · 0 评论 -
Linux下core文件调试方法
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。 2)使用ulimit -c filesize命令,可以限转载 2012-09-27 13:36:18 · 431 阅读 · 0 评论 -
fedora16下Samba服务的配置
由于要完成文件Win7 与VMware虚拟机(Fedora 16)之间的文件共享,所以需要进行samba服务的配置。具体过程如下: 1.下载并安装Samba服务 root下执行命令:yum install samba 2.建立共享文件夹 我建立的共享目录为:/home/ruby/share 和/home/ruby/unix 执行命令: m转载 2012-09-27 13:37:03 · 412 阅读 · 0 评论 -
探讨Linux内核启动之BIOS启动阶段
本文讲解linux内核启动之BIOS启动阶段,640KB的RAM是BIOS设计者自由使用的区域,如何使用取决于 BIOS软件的设计者,4GB的物理地址空间至少被划分为两个部分,一部分是内存的地址空间,另外一部分地址空间用于对BIOS芯片存储单元进行寻址。 Linux内核启动有很多值得学习的地方,这里我们主要介绍BIOS启动阶段,包括介绍指令寄存器CS:EIP等方面。 L转载 2012-09-29 09:17:32 · 858 阅读 · 0 评论 -
A Unix Utility You Should Know About: Pipe Viewer
Hi all. I'm starting yet another article series here. This one is going to be about Unix utilities that you should know about. The articles will discuss one Unix program at a time. I'll try to write a转载 2012-11-08 09:30:31 · 478 阅读 · 0 评论 -
A Unix Utility You Should Know About: Netcat
This is the second post in the article series about Unix utilities that you should know about. In this post I will introduce you to thenetcat tool or simply nc.Netcat is often referred to as a "Sw转载 2012-11-08 09:34:48 · 665 阅读 · 0 评论 -
A Unix Utility You Should Know About: lsof
This is the third post in the article series about Unix and Linux utilities that you should know about. In this post I will take you through the usefullsof tool. Ifnetcat was called the Swiss Army K转载 2012-11-08 09:35:52 · 606 阅读 · 0 评论 -
Model/View Programming
http://doc.qt.digia.com/4.7/model-view-programming.htmlModel/View ProgrammingIntroduction to Model/View ProgrammingQt 4 introduced a new set of item view classes that use a model/view archit转载 2012-12-06 15:18:45 · 1643 阅读 · 0 评论 -
nand flash 操作命令
指令功能nand info显示可使用的 Nand Flashnand device [dev]显示或设定当前使用的 Nand Flashnand read addr off sizeNand Flash 读取命令,从 Nand的 off 偏移地址处读取 size字节的数据到原创 2012-09-27 11:37:02 · 1404 阅读 · 0 评论 -
The UNIX Time-Sharing System
The UNIX Time-Sharing System*D. M. Ritchie and K. ThompsonABSTRACTUnix is a general-purpose, multi-user, interactive operating system for the larger Digital Equipment Corporation PDP-11 and the转载 2012-09-27 13:35:29 · 3077 阅读 · 1 评论 -
u-boot 移植步骤详解
1 U-Boot简介U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。但是U-Boot不仅仅支持嵌入式Linu转载 2012-04-22 12:03:54 · 748 阅读 · 0 评论 -
S3C6410开发全纪录(二)《如何计算内存大小,并在UBOOT中调整内存大小》
http://bbs.2beanet.com/boot-f31/s3c6410-uboot-t3135.html 前章我们已经可以制作出用来启动的SD卡了,并将自己编译的UBOOT烧录到了SD卡中这份UBOOT代码中的内存配置肯定和手头的开发板不一致,这里我们将搞清楚如何修改内存大小,并说清楚内存大小到底是如何计算的一、关于内存大小的计算1)硬件的型号,在飞凌的开发转载 2012-04-22 11:35:13 · 507 阅读 · 0 评论 -
broadcom 7208/7468 编译和移植过程
获取broadcom软件开发包文件(refsw-YYYYMMDD-PLATFORM.tgz)登陆Linux操作系统,建立开发目录cd /rootmkdir broadcomcd broadcom解压broadcom开发包到一备份目录cd /home/broadcomtar xzvf refsw-YYYYMMDD-PLATFORM转载 2012-05-24 13:13:36 · 2456 阅读 · 1 评论 -
Linux网络编程一步一步学-epoll同时处理海量连接的代码
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXBUF 1024转载 2012-08-26 19:20:20 · 869 阅读 · 0 评论 -
network.c
https://github.com/felipecruz/rio/blob/master/src/network.c #include "network.h"#include "buffer.h"#include "websocket.h"int eag= 0;static int on_message(http_parser*pa转载 2012-08-26 19:27:49 · 956 阅读 · 0 评论 -
How to use epoll? A complete example in C
https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/ Thursday, 2 June 2011 @ 1238 GMT by Mukund SivaramanNetwork servers are traditionally implemented using a separate process or th转载 2012-08-26 19:29:08 · 848 阅读 · 0 评论 -
linux共享内存
共享内存共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。快速本地通信 因为所有进程共享同一块内存,共享内存在各种进程间通信方式中具有最高的效率。访问共享内存区域和访问进程独有的内存区域一样快,并不需要通过系统转载 2012-09-07 11:36:30 · 421 阅读 · 0 评论 -
合理规划您的硬盘分区
作者:北南南北 来自:LinuxSir.Org 提要:对于一个硬盘(包括移动存储设备)如何规划分区结构及如何划分才是比较合理的;为了减少由于硬盘划分不合理而造成的风险及不必要的麻烦,有必要重述如何对一个硬盘的分区结构进行规划; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 正文 +++++++++++转载 2012-09-27 13:32:52 · 838 阅读 · 0 评论 -
uboot命令说明
A:Uboot的命令功能 Uboot在硬件初始化完成之后 调用 main_loop()进入一个无限循环,等待用户输入命令当用户输入命令之后,首先将调用run_command()函数, 然后调用find_cmd()函数把用户从终端输入的命令进行比较,当find_cmd()返回值 不等于0,则将调用命令处理函数find_cmd()函数将从系统默认的命令表中查询一个匹配的命令,转载 2012-09-27 13:34:34 · 672 阅读 · 0 评论 -
Windows 到 Linux 之旅: 第 7 部分. 网络
在如今这个时代,运行一台没有连接到网络的计算机几乎是难以想像的。电子邮件、Web 浏览和文件共享像打印和查看屏幕上的信息一样,都是用户所期待的。幸运的是,Liunx 从一开始就是为网络而开发的。事实上,网络是 Linux 做得最好的事情之一。Linux 支持诸如TCP/IP 和 SMB(NetBIOS)等流行的网络协议。Linux 还具有用于监控和过滤网络流量的成熟工具。诸如 FTP、Wind转载 2013-03-31 19:42:50 · 557 阅读 · 0 评论 -
Linux 引导过程内幕
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序。尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。然后将回顾一下在各个步骤到底发生了什么。在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代转载 2013-03-31 19:53:38 · 472 阅读 · 0 评论 -
内存对齐
本来想写一篇来总结一下内存对齐的概念。结果今天在网上就看到了这篇文章。人家总结的挺好,而且还有详细的例子。唉,自己还是不要写了,直接粘过来吧。^_^,表说偶懒哦。内存对齐 作者 Fang 关键字 对齐 内存对齐原作者姓名 Fang 正文什么是内存对齐 考虑下面的结构: struct foo { char转载 2013-05-16 19:10:40 · 510 阅读 · 0 评论 -
对于hp 32bit位 和64bit的区别
一,前言 使用64位体系结构对应用程序的开发者来说,Solaris 64位操作系统和32位操作系统之间的最大差别在于它们使用的C语言数据类型模型。64位操作系统使用LP64模型,在LP64模型中long类型和指针类型是64位的。其他基本数据类型和32位的模型一样。32位数据类型使用ILP32模型,其中的int,long和指针类型都是32位的。下面列出了64位环境的主要特点和使用时需要考虑的问转载 2013-05-16 19:12:49 · 902 阅读 · 0 评论 -
gdb反汇编详解C函数底层实现笔记(程序堆栈、内存分配)
以下是在读《深入理解计算机系统》前面的章节“程序的机器级表示”时,自己动手在linux上使用了gdb对一个简单的C程序进行反汇编,通过不懈的努力终于查清楚弄明白了绝大多数的语句。且均以注释的形式列在汇编语句后面。 所有这些注释大概花了整整一天时间,不过还好,感觉对于C程序的机器级实现终于算是有了一个比较透彻的理解,对于以前编译出现的有些bug的原因有了一种原来如此的感慨。感觉这段代码转载 2013-06-26 16:42:33 · 6179 阅读 · 0 评论 -
希望早几年知道的5个Unix命令
使用*nix系统已经有一段时间了。但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令。 1. man ascii这个命令会打印出八进制、十六进制和十进制的ASCII码表。难以置信我是一个月之前才知道这个命令的。我总是使用google来查询ASCII码表。这个命令其实更方便。123456789101112 ASCII(7) BSD Miscellaneous Information Ma转载 2013-09-17 09:53:46 · 577 阅读 · 0 评论 -
linux下的lcx源码,修改无错可用版
http://twi1ight.org/2013/02/42.html 网上关于linux下面的lcx源码很多,大部分在现在的linux环境下编译都存在错误,而且代码本身con2con函数存在逻辑错误,部分功能无法正常使用还有在这要为这个东西正名,其全名是Socket data transport tool,而根据代码注释中[bkbll@mobile socket]$ gcc -o t转载 2013-10-17 12:00:23 · 5609 阅读 · 2 评论 -
linux命令技巧
技巧:用 cat合并文件您常常需要将几个文件处理成一个文件并将这种处理的结果保存到一个单独的输出文件。cat(“concatenate”的缩写)命令在其输入上接受一个或多个文件并将它们作为一个单独的文件打印到它的输出。例如,cat chapter01 chapter02 chapter03 > book将三个chapterXX文件保存在一个单独的bo转载 2014-05-08 15:09:50 · 1746 阅读 · 0 评论 -
取文件头命令
dd if=***.img bs=1 skip=172 > ***_nohead.bin转载 2014-05-12 09:07:17 · 560 阅读 · 0 评论 -
使用thrift做c++,java和python的相互调用
linux上安装thrift见 http://jinghong.iteye.com/blog/1102535thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。 下面记录以C++做服务器,C++,java和python做客户端的示例,这个和本人现在工作环境吻合,使用多线程长连接的socket来建立高效分布式系统的跨语言调用平台。遗憾的是目转载 2014-05-20 18:21:53 · 1153 阅读 · 0 评论 -
带有详细注释的 Redis 3.0 代码 (github.com)
Redis 3.0 源码注释本项目是注释版的 Redis 3.0 源码, 原始代码来自: https://github.com/antirez/redis 。这份注释是我在创作新版《Redis 设计与实现》期间, 为了了解 Redis 的内部实现而制作的, 所有在书中有介绍的内容, 在源码中都进行了相应的注释。在注释的过程中, 除了少量空格和空行方面的调整外, 没有对原始代转载 2016-06-06 18:48:51 · 1060 阅读 · 0 评论 -
unix/linux "数据的对齐" "指针的对齐" .
"数据的的对齐" 以下内容节选自《Intel Architecture 32 Manual》。 字,双字,和四字在自然边界上不需要在内存中对齐。(对字,双字,和四字来说,自然边界分别是偶数地址,可以被4整除的地址,和可以被8整除的地址。) 无论如何,为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内转载 2013-05-16 19:09:52 · 744 阅读 · 0 评论 -
学习 Linux,101: 使用正则表达式搜索文本文件
概述本文深入介绍基础的 Linux 进程管理技术。您将学习如何:创建简单的正则表达式使用正则表达式搜索文件和文件系统使用正则表达式和 sed本文帮助您准备 Linux Professional Institute's Junior Level Administration (LPIC-1) 考试的 103 主题下的 103.7 考核目标。该考核目标的权值为 2。先决条件为了转载 2013-04-01 19:46:40 · 673 阅读 · 0 评论 -
Linux 文件压缩工具指南
文件的压缩和解压缩是计算历史上最有用的创造之一,但缺乏可移植性和开放工具是阻碍它发挥其应有作用的最主要的一个障碍。只要我们是与其他使用类似 Unix 操作系统的用户交换文件,就可以使用例如compress 、gzip 和 bzip2 这样的可移植工具(如需链接,请参阅 参考资料 )。但世界上其他人使用的是各种各样的专用软件 -- 甚至专用压缩算法 -- 拥有者可能永远也不会将它们公之于众。转载 2013-03-31 21:30:33 · 794 阅读 · 0 评论 -
Linux bootloader 编写方法
1.概述linux运行在保护模式下,但是当机器启动复位的时候却处于实模式下。所以写bootloader做的工作也是在实模式之下的。linux的内核有多种格式,老式的zImage和新型的bzImage。它们之间最大的差别是对于内核体积大小的限制。由于zImage内核需要放在实模式1MB的内存之内,所以其体积受到了限制。目前采用的内核格式大多为bzImage,这种格式没有1MB内存限制。本文以转载 2013-03-31 20:11:08 · 609 阅读 · 0 评论 -
Windows 到 Linux 之旅: 第 6 部分. 使用分区和文件系统
http://www.ibm.com/developerworks/cn/linux/l-roadmap/part6/index.html 在 Linux 中文件和存储设备的使用与 Windows 中不同。虽然同样有文件和分层目录结构,但是除此以外您还需要建立一种不同的思维方式。/|-- bin|-- boot|-- dev|-- etc|-- mnt转载 2013-03-31 19:29:41 · 527 阅读 · 0 评论 -
Linux 引导过程内幕
早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序。尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要的简化。让我们先从高级的视角来查看 Linux 引导过程,这样就可以看到整个过程的全貌了。然后将回顾一下在各个步骤到底发生了什么。在整个过程中,参考一下内核源代码可以帮助我们更好地了解内核源代转载 2013-03-31 19:57:19 · 461 阅读 · 0 评论 -
使用 XZ Utils 获得更高的压缩率
关于 XZ UtilsXZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩文件更小,而且解压缩速度也很快。最初 XZ Utils 的是基于 LZMA-SDK 开发,但是 LZMA-SDK 包含了一些 WINDOWS 平台的特性,所以 XZ Utils 为以适应 POSIX 平转载 2013-03-31 21:12:30 · 1367 阅读 · 0 评论 -
学习 Linux,101: 创建分区和文件系统
概述在本文中,学习磁盘分区和 Linux 文件系统相关内容。学习:创建分区使用 mkfs 命令来设置 ext2、ext3、ext4、xfs、Reiser v3 和 vfat 文件系统创建和管理交换空间本文帮助您准备 Linux Professional Institute's Junior Level Administration (LPIC-1) 考试 101 中主题 104 下转载 2013-04-01 10:19:25 · 1806 阅读 · 0 评论