Linux
ayoung_go
一线研发员
展开
-
深入理解Linux中内存管理
(PS:很好的文章,特此转来细细研读)原文地址: http://kb.cnblogs.com/page/180830/前一段时间看了《深入理解Linux内核》对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看法和认识。 我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个转载 2016-11-26 16:44:53 · 261 阅读 · 0 评论 -
linux下gdb调试
(收藏下来,以备不时之需)一、GDB 概述GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说,转载 2017-01-03 17:00:02 · 302 阅读 · 0 评论 -
GDB下查看内存命令(x命令)
可以使用examine命令(简写是x)来查看内存地址中的值。x命令的语法如下所示: x/ n、f、u是可选的参数。 n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义。 f 表示显示的格式,参见下面。如果地址所指的是字符串,那么格式可以是s,如果地十是指令地址,那么格式可以是i。转载 2017-04-07 13:48:30 · 557 阅读 · 0 评论 -
Linux内核bug分析
ps:非常好的文章,学习分析方法Linux Kernel BUG:soft lockup CPU#1 stuck分析1.线上内核bug日志kernel: Deltaway too big! 18428729675200069867 ts=18446743954022816244 write stamp =18014278822746377 kernel:------转载 2017-09-29 10:15:33 · 2242 阅读 · 0 评论 -
linux多线程默认栈大小和最大可创建线程数
linux的线程栈大小可以使用ulimit -s命令查看,对于ubuntu 2.6的内核线程栈的默认大小为8M,如下:root@npti:/# ulimit -s819232位的系统,虚拟内存空间是4G,其中高1G是内核空间用户不可见,真正可以使用的内存空间大小是低3G的用户空间,具体参考下表:Linux的内存模型,一般为:地址作用说明>=0xc000 0000内核虚拟存储器用户代码不可见区...原创 2018-05-14 15:25:29 · 2944 阅读 · 0 评论 -
Linux多线程调度策略
转自:http://blog.csdn.net/byperseverance/article/details/44522731 Linux线程的调度策略分为3个:SCHED_OTHER,SCHED_FIFO,SCHED_RR 讲策略之前,大家需要理解实时与非实时之分。实时就是指操作系统对一些中断等的响应时效性非常高,即使是在内核态的时候,非实时反之。目前像VxWorks属...原创 2018-07-09 11:01:22 · 1991 阅读 · 0 评论 -
Linux上如何分析死锁问题
简介死锁 (deallocks): 是指两个或两个以上的进程(线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程(线程)在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象...转载 2018-07-27 15:52:19 · 2840 阅读 · 1 评论