ipv6源地址选择原理 引言一个接口通常有多个ipv6地址(比如可能存在多个全球地址,多个链路本地地址)。那么设备从接口发包时它会使用哪个地址作为源地址呢? 假设场景如下:我们设备是路由器,br0有两个链路本地地址:fe80::1/64, fe80::2/64。路由器下的PC发送dns查询,目的地址为fe80::1,路由器的dns server回包时会使用哪个源地址,fe80::1,还是fe80::2 2024-01-25
ubuntu设置远程唤醒(wakeonlan) 关键字:远程开机 一般的主板都有网络唤醒功能(wake-on-lan),但从来没有使用过。这个功能可以让一台关机的设备收到特定包后唤醒开机。本文主要介绍linux下的操作,windows上同理也支持,只是设置方法不一样。 设置方法网络唤醒需要两台电脑,一台待唤醒电脑,一台唤醒别人的电脑。 待唤醒电脑配置待唤醒电脑需要开启wake-on-lan功能。(1)设置主板bios,开启wake-on-l 2024-01-17
内存碎片研究 前言最近在一个项目上,遇到进程随运行时间内存一直增长,增长有10M之多。而且不下降。 123456789101112131415VmPeak: 203528 kBVmSize: 132824 kBVmLck: 0 kBVmPin: 0 kBVmHWM: 16104 kBVmRSS: 13536 kBRssAnon: 86 2024-01-05
ss命令查看socket上包的占用内存 统计socket接收发送队列上的数据长度一般情况下使用只会显示接收发送队列的包数 12345678910# ./ss -ntpState Recv-Q Send-Q Local Address:Port Peer Address:Port Process ESTAB 0 0 192.168.66 2024-01-04
C语言实现默认参数 关键字:可变参数,可变长参数 疑惑open函数为什么可以两个参数,也可以三个参数。如下是man open看到的声明: 12int open(const char *pathname, int flags);int open(const char *pathname, int flags, mode_t mode); c语言本身不支持重载,它是怎么做到的呢? 下面来一个简单的实现。利用逗号表达式和宏 2023-12-14
malloc何时返回失败 关键字:内存分配机制 在 [[linux是怎样工作的-内存管理]]中怀疑过malloc返回值的意义,感觉它从来不会失败。下面来分析一下应用层的内存分配机制。 应用层机制从系统层面看,进程分配内存有两种方式,brk和mmap(暂不考虑共享内存)。1、brk是将数据段(.data)的最高地址指针_edata往高地址推;2、mmap是在进程的虚拟地址空间中(堆和栈中间,称为文件映射区域的地方)找一块空闲 2023-12-12 #技术/内存
gcc选项跟踪函数调用 关键字:trace 有时需要追踪函数究竟挂在了哪儿,gdb是一个不错的调试工具,但遇到栈被破坏的情况,并不能打印出调用栈,这时下面的方法就排上用处了。 增加gcc编译选项 -finstrument-functionsgcc会自动在函数的入口和出口增加一个函数调用,函数原型为: 12void __cyg_profile_func_exit(void* callee, void* callsite 2023-08-28
obsidian插件使用 高级表格使用tab和enter,自动对齐,比较方便,还可以排序等 fdsf fdsf sdfsdf ss sssssssssssssss dddddddddddddd fdsffdsfdsfdsfs fdsfds s admonition更美观的东西 1不清楚为啥有问题 自定义标题和默认折叠(折叠这个功能很有用,可以折叠大段代码) 12345678910111213title 2024-01-19
ubuntu xfce桌面升级后锁屏无法输入登录问题 问题系统更新后,发现xfce桌面超时锁屏后,密码处无法输入字符。无法登录。只能重启。重启后桌面超时锁屏后又无法登录。 网上看到一篇文章 https://bugzilla.redhat.com/show_bug.cgi?id=1955993 ,说是有两个锁屏在运行,导致出现问题。xfce4-screensaverxscreensaver 可以ps查看一下这两个进程是否存在,如果存在那么可能就是同一个 2023-03-30
生成树协议STP算法 生成树协议STP算法 以太网网桥使用生成树协议STP(Spanning Tree Protocol),可以在提高网络可靠性的同时,又避免环路带来的各种问题。 生成树算法STA(Spanning Tree Algorithm)是生成树协议的核心。它的目的是:在包含有物理环路的网络中,构建出一个能够连通全网各个节点的树形无环路逻辑拓扑。 生成树算法三步骤(1)选举根网桥(2)选举根端口(3)选举指定 2022-09-09