自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1329)
  • 资源 (19)
  • 收藏
  • 关注

原创 c++: cannot find -lstdc++

【代码】c++: cannot find -lstdc++

2024-09-20 06:25:52 13

原创 Linux: debug:内核log有乱码^@^@

就需要从host主机,主动kill -9 qemu-kvm 这个进程的时候,这个时候,就会在kernel的log里,有这个乱码。有一种情况,如果VM的CPU使用率很高,console登陆都有问题的时候,使用virsh shutdown关闭不了虚拟机。这里只是展示这一种情况,还有没有其他情况导致乱码?

2024-09-20 06:25:18 150

原创 第一次看到退出需要密码的情况

logoutPassword:

2024-09-19 07:37:14 78

原创 英文名的趣事

另一个是关于重名的趣事,也是在昨天,在一个MS teams的会话框,写了一句,说:Jack会做某某事;这个重名的问题也是非常的严重,比如在印象里,公司里姓刘的Leo有六七个,当然还有其他Leo:Leo Wang, Leo Yang, Leo Zhang,…在和一个同事结伴写脚本代码的时候,代码里需要用kill命令向一个进程发信号,中间要使用一个标记变量来标记kill的操作是否已经完成,这位同事给这个变量起了一个名称是:kill_mark,很好的变量名,可以做到顾名思义,是杀死的标记。一个是关于重名的错觉。

2024-09-19 06:25:46 175

原创 Linux: debug:dump_stack 实例

这里带有尖括号黑体的48比较关键,指的就是当前指令。把前后相关的二进制代码段打印出来了。最近看到一个内核函数,可以帮助dump进程的stack数据。看着很有用,可以使用。其他的都比较正常的打印,一眼就可以看出意思。

2024-09-18 09:24:28 377

原创 [程序员] 技术支持的基本技能之一:脚本语言!

最近遇到一个客户现场的问题,这个问题的发生是不定时的一个问题,就是不知道什么时候才会出现。这次遇到的例子,是说,发现现场支持人员对于这个脚本语言技能的掌握是非常的参差不齐。从个人的角度看,这个是技术支持的一个基本技能,就是大家必须都掌握的一个技能。有时候形成这种依赖后,会形成一个结果:给不愿意学习这项技能的人一个非常好的借口/由头,“自己不会,而他会”!而且:这个脚本完成之后,可以作为一个成功的工具,后面再遇到此类问题的时候,肯定也会有帮助。所以每次的技术支持是成长的一次机会,不如趁机学一下这项技能!

2024-09-18 06:42:38 30

原创 Linux: network: delay and burst

最近遇到一个false-network的问题,抓到的网络包的特征是,有十几秒的延迟,然后来了一个burst。这个现象说明这个包肯定是缓存在了一个地方,但是具体是什么地方,就需要抓包确定。这次的缓存的地方是虚拟机内部。由于一个比内核线程优先级还要高的一个现场出现了死循环,耗尽CPU导致的这个网络包现象。

2024-09-17 10:56:50 124

原创 Linux: fs:支持最大的文件大小 limit file;truncate

但是会受使用接口的限制,比如fopen/fopen64;操作系统的位数:64bit/32bit;所以需要注意这方面的问题。怎么同时修改文件,同时不影响其他程序写文件?从RHEL的官网看,现在支持的大小非常大。

2024-09-17 10:01:21 110

原创 [程序员] 前人留下的苦难源,我们是否有勇气改正?

二十年间,平台一直在变迁,但是设计从未改变,遇到过类似的问题也有多起,但是每次都是浅聊,没有后文!因为产品的整体代码已经适应了这种不合理的设置(所以这种苦难源就会变得非常合理起来),如果要改变,需要做很多的回归测试,以及承担回归测试不完整的风险。产品里的很多线程/进程的优先级设置的很高,甚至高过了内核运行程序的优先级,高过了产品内警告处理程序的运行,高过日志打印的程序。”,经典的原因在于,有了“or”,才有了选择的机会,不管选择哪一个,都会变成我们的历史,变成我们的基因,变成我们未来的基石;

2024-09-16 05:06:05 595

原创 Linux: virtual: qemu-kvm: top cpu usage的组成是否包含guest的使用?

通过试验发现是包含的。上面的13.3%是在没有虚拟机上的cpu负载的时候的一个使用率;就有疑问,这里的usage是怎么计算的?包不包含虚拟机内部CPU的使用率。最近看一个问题,看到一个虚拟机分配的cpu是:3-4,27-28。这个命令可以查看guest的cpu使用占比是多少.是包含guest的使用。

2024-09-16 05:04:10 542

原创 [开源工具]tcpreplay;tcpwriter

可以将tcpdump抓的包,重新拿来,再发出去(replay的一个过程),可以用来模拟特定的场景,来分析问题/性能,等。

2024-09-12 06:01:33 136

原创 [晕事]今天做了件晕事44 wireshark 首选项IPv4:Reassemble Fragented IPv4 datagrams

这个参数的含义是指定Wireshark,在打开pcap文件进行解析的时候要:先解包;还是先组装分片包,再解包。如果是选择了这个选项,就代表,分片重组之后再进行解析IPv4之上的协议。如果没有选,就是不会重组分片,直接进行解析,可能导致第二片不能参与到包的解析过程。说,在Wireshark的编辑-首选项协议里的IPv4协议,有一个参数设置是:Reassemble Fragented IPv4 datagrams。或者遇到说由于网络设备的原因,导致两个相同的分片出现,或者被解析成了相同的ESP报文。

2024-09-12 05:57:49 569

原创 Linux: network: IPv6: ESP: UDP checksum error 一例

最近遇到一个问题,操作系统的内核版本是:3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux。使用的是virtio-net虚拟网卡,设置网卡的MTU-1500,配置IP6的地址,用ESP加密UDP包,如果UDP内部数据的len是1451,发出去的包会被分片,而且发出去的包里UDP包头的checksum值是错误的。最好的方式就是从网上找是不是已知问题。升级系统到最新的版本。

2024-09-11 15:17:46 661

原创 Linux: network: esp:收到了重复的包?

这个时候,就会触发防火墙的防御机制。这样看,是不可能知道Firewall的具体防护机制是怎样,因为每家的防护可能都不一样。但是从wireshark里确实可以看到在相同SPI下,收到了两个序号相同的ESP包。这个目前还是未解的谜题,不知道到底是谁发的重复包。最近遇到一个问题,是说收到了dup的ESP包。

2024-09-11 13:16:30 264

原创 [英语单词] corked

adj (of wine) made bad by a decayed cork (指酒)有腐坏的软木塞异味的.这里看着也只有cork配的上socket;因为socket是套接字,上一个管子,可以被塞。a. 塞子塞住的, 用软木塞炭涂黑的, 有塞子气味的, (美)(非正式)喝醉酒的。这里是说socket将要被塞住,需要获取锁。n. 窝, 穴, 插座, 眼窝。【医】 槽, 臼, 窝。

2024-09-10 05:27:25 440

原创 [晕事]今天做了件晕事43 python-byte串长度与转义字符

如果直接使用notepad++,这个转义字符也算再长度里,但是再python内部\x0d算是一个字符。所以需要注意这种串长度的计算。过程是,组装byte串的时候,整个字符串里有转义字符\x0d。今天办了一件晕事,导致测试结果与预期不一致。

2024-09-10 05:24:58 286

原创 [英语单词] paste

这个单词的意思,有时候可能会被,被copy/paste误导了,会有一种假象,只有copy了才可以paste。其实还可以将两个东西paste在一起。

2024-09-09 14:44:49 568

原创 网络包处理库Scapy: 计算checksum,csum

这个tool,可以帮助计算checksum。因为要构造IPheader,所以如果想手动组装IP/UDP,有些费劲。不如直接使用这个工具。

2024-09-09 14:41:21 181

原创 Linux: network: TCP: errno: EWOULDBLOCK

而且网线的导致的这个问题还不是完全断掉(如果完全断掉,那就可以一眼看出问题的原因),而是导致整体网络质量下降。幸好有很多相同产品做对比,说其他两百个相同的产品都没有问题,只有这个有问题,硬件的问题的可能性变大。在软件层面上,有一些网络检测工具可以帮助你诊断网线或网络连接问题,虽然无法直接测试物理网线,但通过检测网络性能、丢包率、网络延迟等,间接推测网线是否存在问题。功能:NetStress 是一个用于测试局域网(LAN)中网络性能的工具,帮助你分析两个设备之间的带宽、延迟等性能数据。

2024-09-06 06:02:58 237 1

原创 c/c++: warning: ISO C90 forbids variable length array ‘a’

int a[n];a[3]=4;return 0;func(b);return 0;int a[n];^~~

2024-09-05 04:31:25 202

原创 Coredump-X: exit的时候析构全局对象;double-free

今天遇到一个例子,是在进程退出的时候,调用全局对象的析构函数,析构函数里调用了delete操作,但是delete操作,所要释放的指针,虽然不为0,但是之前已经被释放过了,不是合理的malloc内存:corrupted double-linked list。这种大多是多线程导致问题,最好是枷锁保护这个关键指针变量。

2024-09-05 04:29:43 533

原创 Linux: network:dns: stub resolver

总体的意思是,stub的意思就是部分功能,就是不健全的一个resolver。在Linux下,glibc的接口:getaddrinfo ,就是这么一个stub的存在。这两个链接都有提到stub resolver。根据这个链接里的内容,找到了RFC1123。关于这个概念,找到了下面的链接。

2024-09-04 15:00:59 207

原创 [英语单词]hairpin

所以上面的hairpin off的意思,又引申为回环的意思,U型链路。意思是说,从当前端口来的包,要不要再发回到这个端口。主要是说网络上的bridge/switch等设备的设置。但是hairpin,是用的pin的第二个意思:固定。意思是:发卡,固定头发的发卡。n. 大头针, 针, 别针, 栓, 销子, 图钉, 插头, 管脚, 品(液量单位)用针别住, 钉住, 压住, 牵制, 使不能动, 归罪于。这个第一眼看了,以为是头发丝这么细的pin/大头针。a. 针的, 销子的, 闩的。

2024-09-04 14:59:17 439

原创 Gnu: binutils: ld: .gnu.warning.链接时的主动警告 glibc

需要注意,如果函数和main函数是再一个编译单元,不会trigger这个warning。需要变成成单独的o/so文件,在链接时才会报错。

2024-09-03 13:32:05 582

原创 Windows: wsl下进行git操作,导致杀毒软件疯狂运作?

在 WSL 中执行 Git 操作时杀毒软件疯狂运作的现象,通常是因为 WSL 与 Windows 共享文件系统,导致杀毒软件对文件系统的变化进行扫描。通过调整杀毒软件的设置、优化 WSL 的操作方式,或者在 WSL 内部本地操作,可以减少杀毒软件的频繁运作,从而改善性能和使用体验。

2024-09-03 13:05:33 493

原创 程序员: 形参/实参

如果根据:https://mzhan017.blog.csdn.net/article/details/141693086;将函数看成函数,其实形参就是自变量,而函数输出是因变量。而自变量的实例,才是实参。

2024-09-02 15:36:46 49

原创 coredump-N: stack 消耗完之后,用户自定义信号处理有些问题 sigaltstack

这里提到一个问题,就是如果栈被用光了,这个时候SIGSEGV的用户自定义的handler处理可能就没有空间进行处理。这个时候,可以使用sigaltstack函数,将信号处理函数的处理过程在另一个单独的栈里进行。这种情况,一般很少能第一时间想到这个问题。而是出了问题之后,才会找相应的方法,然后找到sigaltstack。算是一步步的涨知识。在上面一篇是关于stack耗尽的一个小程序例子。

2024-09-02 15:35:42 292

原创 [英语单词] blackmail

查了字典,才发现其实它真正的意思是:勒索。是一种见不得光的信件。在普通含义的基础上递进了一步:引申为勒索,而且勒索的行为一开始也是在双方之间传纸条,也是信件的一种。这个也是很反直观的一个单词。如果不做字典的查询,肯定第一眼认为是黑色邮件,那就会问,邮件怎么还分黑白?【法】 敲诈, 勒索, 恐吓取财。

2024-08-30 04:24:15 135

原创 c/c++: function和procedure的区别

函数与过程的区别,一个有返回值,一个没有。

2024-08-30 04:23:36 222

原创 [英语单词] unsound

根据下面sound的第二个是形容词的,其实也是一个引申的意思。只要发声的就是健全的,因为起码声音是发出来了。如果声音都发出不来,就是有问题的。就像很多的现实社会各种问题,根本就unsound,也就是不健康,很不健康。不管“症能亮”与否!因为根据sound的基础含义,大部分人开始接触这个词,就是声音的意思。这个也是有些反直觉的一个单词;

2024-08-29 07:20:35 231

原创 [一般人不知道的点] 加法器对不同数字的运算消耗的电量不同

如果不是单门搞研究,学过模拟/数字电路,很多人可能不会注意这一点。

2024-08-28 05:29:50 469

原创 [英语单词] out of

from 用, 以(某事物): The hut was made out of pieces of wood. 这小屋是用木板建造的. * She made a skirt out of the material I gave her. 她用我给她的料子做了一条裙子. Cf 参看 from 8, of 5.出来: jump out of bed 跳下床 * go out of the shop 走出商店 * fly out of the cage 飞出笼子.

2024-08-28 05:24:02 386

原创 [英语单词] quorum

例如,在 5 个节点的集群中,至少需要 3 个节点参与决策才能达成 Quorum。这个quorum这个单词也是非常特殊,他说一个组合,多数同意的多数的组合,这算是一个行为的结果,所以放到一个句子里的时候,有些绕,需要脑子转个弯。在计算机科学中,“quorum” 是指在分布式系统或集群系统中,为了确保一致性和可靠性,某种操作或决策必须得到的最小同意或参与节点数量。具体来说,Quorum 是指在系统中的某些操作(如写操作、选举操作)需要至少达到某个阈值的节点同意或响应,才能认为该操作是成功的。

2024-08-27 21:39:33 321

原创 [英语单词] infamous

恶名昭着的: an infamous traitor 臭名昭彰的叛徒 * a king infamous for his cruelty 以残暴而臭名远扬的国王. 2 (fml 文) wicked;丢脸的: his infamous treatment of her 他对她恶毒的虐待.但是,对于famous 的普遍意识里的反义词应该是“不出名”,或者说是普通?a. 无耻的, 不名誉的, 声名狼藉的;a. 出名的, 极好的。

2024-08-27 13:04:15 176

原创 Linux: network: 这个函数dev_queue_xmit_nit里的nit是什么意思?

Tap 是一种机制,允许从网络接口中截获数据包而不干扰网络传输的正常功能。在 Linux 内核中,NIT 是一种数据包捕获机制,类似于 pcap 库中的功能,它可以拦截或捕获从网络接口发送或接收的数据包。因此,dev_queue_xmit_nit 函数的名称表明该函数涉及将要发送的数据包在队列化(排队)到实际发送之前,通过一个 NIT(网络接口 tap)机制进行拦截或处理。dev_queue_xmit_nit 函数的作用是处理网络数据包在发送到物理设备之前的一些操作,特别是在网络监控和捕获数据包时的处理。

2024-08-26 16:52:28 218

原创 [一般人不知道的点] 五十年的生产线

事实上,技术挑战更多地集中在可预测性和稳健性上,而不是效率上。安全关键型嵌入式系统,例如客机的航空电子控制系统,被迫进入一种极端形式的“封闭箱”心态。例如,为了确保电传操纵飞机的 50 年生产周期,飞机制造商被迫一次性购买 50 年的微处理器供应量,以运行嵌入式软件。为了确保保持经过验证的实时性能,这些微处理器必须在同一条生产线上使用相同的掩模制造。如果不重新进行(极其昂贵的)软件验证和认证,系统将无法从未来 50 年的技术改进中受益。显然,与可预测性相比,效率几乎无关紧要,而可预测性。

2024-08-26 07:49:51 453

原创 gcc: leaf function/non-leaf function;末节函数,叶子函数

意思:当一个带有这种属性的函数调用外部函数时,外部函数必须通过普通的返回机制(return)或者通过异常处理机制(如 C++ 的 throw 和 catch 机制)返回到当前编译单元。意思:虽然这些函数被称为叶函数,但它们仍然可以调用来自其他编译单元的函数。也就是说,如果当前编译单元向叶函数传递了一个回调函数指针,叶函数不应调用这个回调函数。这意味着叶函数只能调用来自其他编译单元的函数,不能调用当前编译单元中其他的函数。不能调用当前编译单元传递给它的回调函数,也不能调用当前编译单元中的函数;

2024-08-25 11:56:10 65

原创 [英语单词] feedback

ˈfiːdbæk;但是在英语词典里,没有反哺的意思。其实在动物界,除了人类之外,对于反哺的行为都是很弱,几乎是没有,更不要提什么“奇观已知”这种严重反进化的行为。所以,这里完全是科技发展/信息处理的发展出来的/新造的单词,一个比喻词。输入/输出/输出作为输入。如果按照没学过专业英语,直接来看这个单词,或者是直译这个词,其实应该是:反哺?“人类的反哺现象,是进化后的自觉、非自觉行为,是人类特有的道德行为。

2024-08-25 10:23:46 1099

原创 [英语单词] spectrum

(usu sing 通常作单数) 1 image of a band of colours as seen in a rainbow (and usu described as red, orange, yellow, green, blue, indigo and violet), formed by a ray of light that has passed through a prism 光谱. 2 similar series of bands of sound 声谱;

2024-08-24 21:52:16 236

原创 cppcheck: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm]

可以实现看到的逻辑简洁,代码精炼。

2024-08-24 13:49:56 37

iperf-rhel6

iperf免安装版,rhel-6版本。

2023-07-19

容量提高遇到的问题汇总

在增加产品内部IP、subnet、VLAN个数增加做的一个小总结。

2023-06-10

C,删除无用ifdef宏的工具

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=5575120baf228fa8a319b45294f974979efe29d7, not stripped, too many notes (256) https://mzhan017.blog.csdn.net/article/details/128826587

2023-02-03

MTU 相关知识总结点(一)

某些事物与我们的工作、生活、社会息息相关,却又不甚了解其内部实现运行机制。 MTU就是其中一个例子! 其实MTU 还好,起码有源码可以自己调查,有书籍可看。网络分享的经验。网络上的MTU的知识量非常庞大

2022-10-17

刨析极限的保号性(一)

刨析极限的保号性(一)

2022-10-03

性能优化实例分析(一)

根据Kernel的一个优化,做的一个小分析。

2022-09-29

一次kernel bug的分析过程

记录一次kernel bug的分析过程,万事开头难,希望此次是一个好的开端。

2022-08-30

cron-job-pam

介绍cron-job-pam之间的联系。

2022-08-14

通过interface名称,查询索引值

通过interface名称,查询索引值

2022-07-15

glibc configure后的中间文件

glibc configure后的中间文件包括 Makefile config.status

2022-06-09

数学题里的逆向思维(一)

数学题里的逆向思维(一)

2022-06-01

glibc-getopt

从glibc摘出来的getopt函数,可以直接运行产生coredump。有兴趣的可以下载研究。

2022-05-21

symbolic logic

symbolic logic

2022-05-18

ip添加vlan interface的strace日志

./strace ip link add link int0 name int0.1111 type vlan protocol 802.1Q id 1111 及ip link code 分析

2022-03-29

Linux绿色gdb,无需安装,支持c++对象

需要在/目录解压使用

2022-03-29

netlink查询数据时的避坑总结

netlink查询数据时的避坑总结

2022-03-29

避免挖坑-pselect 和select的使用

避免挖坑-pselect 和select的使用

2022-03-29

Netlink 实际操作代码,实际可以参考iproute源代码做,这里只是方便自己使用的一个样例

Netlink 实际操作代码,实际可以参考iproute源代码做,这里只是方便自己使用的一个样例

2022-03-12

Linux Kernel 日常分析总结

Linux Kernel 日常分析总结,函数调用流程图;持续更新中。

2022-02-16

RHEL8 Kernel 编译配置文件样例

RHEL8 Kernel 编译config配置

2022-02-16

timer_signal 实例

timer_signal 实例

2022-01-10

RFC_0826_ARP.docx

整理的word格式,加注释

2021-09-08

免安装strace strace.zip

免安装strace [root@vmtca-2003 strace-5.1]# ldd strace linux-vdso.so.1 (0x00007ffc14ffb000) librt.so.1 => /lib64/librt.so.1 (0x00007fe620539000) libc.so.6 => /lib64/libc.so.6 (0x00007fe620174000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe61ff54000) /lib64/ld-linux-x86-64.so.2 (0x00007fe620741000)

2021-07-20

gdb-10.1.tar.gz

免安装,免依赖,Linux系统可使用的gdb

2021-06-09

pktDump.cap

pktDump.cap

2021-04-13

Linux Kernel设置irq affinity选项的callback

dmesg 日志

2021-04-07

Net-Interface-1.016.tar.gz

http://search.cpan.org/perldoc?Net::Interface 对Redhat 8 做了适配,可以使用高级gcc版本来编译;

2021-01-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除