
linux
李天琦
相互学习,相互交流!
展开
-
centos/redhat kernel-debug-info-xx.rpm与kernel-debuginfo-xx.rpm区别
crash调试vmcore原创 2023-04-19 22:02:58 · 585 阅读 · 0 评论 -
sed高级用法:sed匹配目标后插入“目标内容”
sed高级用法原创 2022-06-14 18:44:00 · 1305 阅读 · 0 评论 -
如何使用crash调试ubuntu coredump
背景最近现网云主机reboot频发,今天讲一下ubuntu coredump分析过程,针对kdump原理,配置,怎么触发及crash的安装(正常vm os已经安装crash)这里不在赘述,网上一大堆,文章直接切入主题。踩坑ubuntu系统中包采用debian管理,ubuntu kernel的内核符号文件(kernel debuginfo)并不是叫做xx–debuginfo–xx,有自己名字规范,第一次调试肯定会犯迷糊,命名规则是ubuntu-dbgsym-xx,dbgsym代替redhat下面的deb原创 2022-05-07 01:25:36 · 904 阅读 · 0 评论 -
排查cpu feature 缺少x2apic原因
服务器cpu feature 缺少x2apic,经排查bios 未开x2apic mode配置,排查方法如下:1.缺少x2apic feature# cat /proc/cpuinfo grep x2apic2.发现bios未开启x2apic Mode# dmesg | grep x2apic如果开启,如下图所示:3.bios开启x2apic Mode,如下图所示:上图只是举例,具体情况根据自己的服务器bios而定。...原创 2022-01-19 21:24:03 · 1941 阅读 · 0 评论 -
linux环境下,制作补丁及实施补丁
磐云云平台补丁实施补丁工具包安装patch 工具包patch rpm包版本根据实际情况选取,以能在环境中安装成功,patch命令正常运行为准。patch cmd验证patch -v补丁cmd运行环境准备完毕。补丁制作使用diff命令对比文件diff -逐行比较文件格式diff 参数 旧文件/旧文件夹 新文件/新文件夹-N 将不存在的文件看作是空的-a 将所有文件都视为文本文件-u 以合并的...原创 2021-05-28 23:53:36 · 390 阅读 · 0 评论 -
pci设备与numa node的关系
1.查找pci设备的[[[[<domain>]:]<bus>]:][<device>][.[<func>]] [[root@R2A1-VHST1-6010 ~]# lspci -vv -nn | grep -i nvidia2.查找pci属于那个numa node[root@R2A1-VHST1-6010 ~]# lspci -s 18:00.0 -vv 该pci设备属于numa node 0...原创 2021-05-21 14:16:29 · 4116 阅读 · 0 评论 -
同一进程中的线程究竟共享那些资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进程用此来标识...转载 2020-03-18 23:36:20 · 1402 阅读 · 0 评论 -
linux下使用kpartx挂载虚拟文件系统
linux下使用kpartx挂载虚拟文件系统在linux中,如果映像文件(.img)含有分区表的话,那么用losetup这个程序来加载文件系统就有点力不从心了。因为losetup只能加载无分区的文件系统映像文件。不过有一个好东西配合losetup却可以来挂载带有分区表的映像文件,这就是kpartx。1. 查找一个loop设备 2. 将镜像虚拟化成循环设备 3. 使用kpartx装载镜像,装载之后,...原创 2018-05-15 16:31:02 · 4467 阅读 · 0 评论 -
几种典型的服务器网络编程模型归纳( select poll epoll)
1、同步阻塞迭代模型 同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd);listen(srvfd);for(;;){ clifd = accept(srvfd,...); //开始接受客户端来的连接 read(clifd,buf,...); //从客户端读取数据 dosomthingonbuf(buf); writ转载 2016-12-18 10:21:15 · 531 阅读 · 0 评论 -
linux面试c语言编程----------把一个字符串倒序,如“abcd”倒序后变为“dcba”
#include #include"string.h" int main(){ char*src="hello,world"; int len=strlen(src); char* dest = (char*)malloc((len+1)*sizeof(char)); //要为\0分配一个空间 char* d=dest;原创 2016-06-19 16:13:52 · 2493 阅读 · 0 评论 -
十个值得研究的c开源项目
原文链接:http://my.oschina.net/zhoukuo/blog/335788?p=9#comments算是比较轻量级的开源项目,作为学习研究C语言,提升C语言功底!好处很多很多!代码阅读——十个C开源项目1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们转载 2016-06-07 11:20:53 · 706 阅读 · 0 评论 -
GDB调试流程
GDB是GNU发布的一款功能强大的程序调试工具。GDB主要完成下面三个方面的功能: 1、启动被调试程序。 2 、让被调试的程序在指定的位置停住。 3、当程序被停住时,可以检查程序状态(如变量值)。GDB使用流程:1.编译生成可执行文件: gcc -g tst.c -o tst 2.启动GDB gdb tst3. 在main函数处设置断点原创 2016-05-23 21:35:04 · 375 阅读 · 0 评论 -
linux面试题(填空部分)
1 在linux系统中,以文件的方式访问设备。2 linux内核引导时,通过/etc/fstab文件读取要加载的文件系统3 linux文件系统中可以有两种方式标识文件类型,第一种使用颜色来标识,白色表示一般性的文件,如文本文件、配置文件、源代码文件等;浅蓝色的表示连接文件,只要是使用ln命令建立的文件;绿色表示可执行文件,可执行的程序,如果tar文件,一些模块等;红色表示压缩文件如.zip转载 2016-05-23 20:52:46 · 548 阅读 · 0 评论 -
有关epoll与select机制的剖析
首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,转载 2016-05-09 14:02:41 · 502 阅读 · 0 评论 -
shell脚本下常用的符号组合及转移字符
在执行shell脚本的时候,shell将会对脚本中的行进行解释,然后执行;对于一些特殊处理的句子,我们可以使用引号或者反斜线来避免shell解释执行之。这里我将shell中常用的一些符号组合及使用规则罗列如下:1、$@ 为传递的参数2、$# 为传递参数的数量3、$? 是shell变量,表示"最后一次执行命令"的退出状态,一般0表示成功,非0数值表示没有成功。切记:$?永远表示s原创 2016-05-16 23:15:11 · 3168 阅读 · 0 评论 -
有关动/静态库的制作
静态库程序 所 要 用 到 的库函数 代码 在 链接时全 部被copy 到程序中 。导致的问题 :如果有多个进程在内存中同时运行 , 并且使用了相同 的库函数 ,那么时运行 ,并且使用了相同 的库函数 ,那么就会 有 多份拷贝 ,这就是对空间的的浪费。Linux 下进行链接时 默认是链接动态库,如果需要使用静态库,需要使用 -static指明。静态库的制作:1. gcc –c myli原创 2016-05-24 10:46:07 · 274 阅读 · 0 评论