
Linux
文章平均质量分 65
zeropool
这个作者很懒,什么都没留下…
展开
-
linux strace 进程跟踪
linux strace 进程跟踪 调用: strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ... [ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [转载 2011-09-06 14:37:30 · 627 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client转载 2011-09-07 23:16:50 · 429 阅读 · 0 评论 -
线程控制
一、线程限制1. 获取OS对于线程使用的限制指标:下述4个指标可以使用sysconf函数获取,不同OS的支持情况也不同,参见P313,表12-1。四个限制值如下:(1)、PTHREAD_DESTRUCTOR_ITERATIONS: 线程退出时OS试图销毁线程私转载 2011-09-09 23:19:16 · 980 阅读 · 0 评论 -
bash shell shortcuts
Bash is a default shell on most of the Linux operating system, you should be aware of all the keyboard shortcuts to avoid typo mistakes.转载 2011-09-10 18:29:52 · 665 阅读 · 0 评论 -
Linux 用命令行查看硬件信息
之前我们介绍过,在 Linux 上用图形化工具来查看硬件信息,现在我们再介绍一下用命令行方式来完成此工作。linux 查看硬件信息:proclinux 查看硬件信息:终端命令行linux 查看硬件信息:脚本linux 查看硬件信息:proc使用/proc查看的硬件信息虽原创 2011-08-17 21:26:06 · 1392 阅读 · 0 评论 -
tcpdump: no suitable device found
hao@tigerrr:~$ tcpdump tcpdump: no suitable device found问题分析及解决:2种原因:1.权限不够,一般不经过处理,只用root用户能使用tcpdump转载 2011-08-18 07:29:14 · 1610 阅读 · 0 评论 -
Linux的rc.local自启动服务
linux有自己一套完整的启动体系,抓住了linux启动的脉络,linux的启动过程将不再神秘。本文中假设inittab中设置的init tree为:/etc/rc.d/rc0.d/etc/rc.d/rc1.d/etc/rc.d/rc2.d/etc/rc.d/转载 2011-10-09 13:01:15 · 800 阅读 · 0 评论 -
Memory: VSS/RSS/PSS/USS
TermsVSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)转载 2011-11-05 18:31:12 · 946 阅读 · 0 评论 -
PROC系列之---/proc/loadavg、/proc/pid/stat、/proc/pid/statm等
该文件中的所有值都是从系统启动开始累计到当前时刻。该文件只给出了所有CPU的集合信息,不能该出每个CPU的信息。[root@localhost ~]# cat /proc/loadavg 4.61 4.36 4.15 9/84 5662每个值的含义为:参数 解释lavg_1 (4.61) 1-分钟平均负载lavg_5 (4.36) 5-分钟平均负载lavg_15转载 2011-11-06 11:51:40 · 546 阅读 · 0 评论 -
glibc内存泄露以及TCmalloc 简单分析
最近开发一个私人程序时碰到了严重的内存问题,具体表现为:进程占用的内存会随着访问高峰不断上升,直到发生OOM被kill为止。我们使用valgrind等工具进行检查发现程序并无内存泄露,经过仔细调查我们发现时glibc的内存管理机制导致的,下次将发文对此深入解释,本文只列出核心的几转载 2011-09-07 11:34:44 · 1382 阅读 · 0 评论 -
在不具备gdb环境的类Linux系统开发板上调试段错误,大致定位出错函数位置
在不具备gdb环境的类Linux系统开发板上调试段错误,大致定位出错函数位置 在不具备gdb环境的类Linux系统开发板上调试段错误,大致定位出错函数位置理论知识就不讲了,想了解的可以在搜索下“Linux下的段错误产生的原因及调试方法” 这篇文章,本文的内容基本是从那文章转载 2011-09-06 21:31:55 · 1527 阅读 · 0 评论 -
技巧: 使用truss、strace或ltrace诊断软件的"疑难杂症"
简介进程无法启动,软件运行速度突然变慢,程序的"Segment Fault"等等都是让每个Unix系统用户头痛的问题,本文通过三个实际案例演示如何使用truss、strace和ltrace这三个常用的调试工具来快速诊断软件的"疑难杂症"。truss和strace用转载 2011-09-06 14:39:42 · 450 阅读 · 0 评论 -
Linux:让内存不再泄漏
本文将介绍内存泄漏的检测方法以及现在可以使用的工具。针对内存泄漏的问题,本文提供足够的信息,使我们能够在不同的工具中做出选择。 内存泄漏 在此,谈论的是程序设计中内存泄漏和错误的问题,不过,并不是所有的程序都有这一问题。首先,泄漏等一转载 2011-09-06 21:29:15 · 579 阅读 · 0 评论 -
掌握 Linux 调试技术
掌握 Linux 调试技术在 Linux 上找出并解决程序错误的主要方法Steve Best (sbest@us.ibm.com)JFS 核心小组成员,IBMSteve Best 目前在做 Linux 项目的日志纪录文件系统(Journaled File Sy转载 2011-09-06 21:35:20 · 341 阅读 · 0 评论 -
Linux信号说明
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGB转载 2011-09-07 23:18:39 · 446 阅读 · 0 评论 -
Linux系统内存错误产生的原因及调试方法
而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一般来说,段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的g转载 2011-09-06 21:30:59 · 512 阅读 · 0 评论 -
在应用程序中替换Linux中Glibc的malloc的四种方法 .
打算优化系统的内存分配,接管glibc提供的内存管理,但是整个工程的代码量很大,使用malloc、realloc、calloc和free的地方到处都是,如果自己写好的接口需要重命名所有的调用,先不说工作量,部分没有权限查看代码的.a文件就搞不定了。所以需要替换掉系统的malloc转载 2011-09-07 16:18:55 · 2369 阅读 · 0 评论 -
关于SIGPIPE信号
我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程转载 2011-09-07 22:19:51 · 1518 阅读 · 1 评论 -
Linux 平台下多线程编程的高效开发经验
Linux平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验转载 2011-09-08 00:53:24 · 862 阅读 · 0 评论 -
-D_GNU_SOURCE
_GNU_SOURCE: glibc does not make the GNU extensions available automatically. If a program depends on GNU extensions or some other non-standard functionality, it is necessary to compile it with the C c转载 2011-11-06 15:17:53 · 3971 阅读 · 0 评论