- 博客(21)
- 收藏
- 关注
原创 深入剖析C语言中内存泄漏问题及解决之道
内存泄漏作为常见的内存管理问题,可能会导致程序性能下降,甚至崩溃。在Linux系统环境下开发C语言程序时,有效地检测和解决内存泄漏问题显得尤为关键。本文将详细介绍内存泄漏的成因、危害,以及在Linux系统下如何检测和解决这些问题。Valgrind会输出详细的内存泄漏信息,包括泄漏的内存块大小、分配位置等。可以封装 malloc() 和 free() 函数,在分配和释放内存时记录相关信息,方便调试和管理。Valgrind是一个强大的内存调试和性能分析工具,它可以检测出多种内存管理错误,包括内存泄漏。
2025-04-22 16:49:36
385
原创 linux内存监控脚本
每十分钟监测并记录指定服务的内存使用情况,包括内存使用率、总内存大小、内存使用量、空闲内存,同时会记录时间到 memRecord.log 日志文件中。
2025-04-21 13:45:31
208
原创 磁盘初始化
问题现象:磁盘E盘被重写,导致磁盘错误,标识符被覆盖,文件资源管理器中找不到磁盘,只能初始化。解决方案:磁盘管理中找到磁盘1,右键点击新建卷,初始化。
2025-03-28 14:16:18
82
原创 升级openssh-9.9p2.tar.gz版本(包含openssl升级1.1.1版本)
/configure --prefix=/usr --sysconfdir=/etc/ssh --with-ssl-dir=/usr/local/openssl --with-ssl-include=/usr/local/openssl/include --with-ssl-lib=/usr/local/openssl/lib(指定ssl路径)4、编译:./config --prefix=/usr/local/openssl (指定下载安装路径/usr/local/openssl )
2025-03-19 15:52:24
1073
原创 ping不通ip情况排查
3、显示数据包的详细信息:-v, -vv, -vvv。增加输出的详细程度,-v 是普通详细,-vv 更详细,-vvv 显示最多信息。1、指定网络接口:-i tcpdump -i eth0(仅抓取 eth0 接口的流量)2、tcpdump -i eth0 -w /tmp/capture.pcap (保存抓包文件)二、查看网口状态,通过ifconfig查看网口是否RUNNING状态。4、时间戳格式:-tttt,使用可读的时间戳格式显示抓包时间。一、查看网线是否插好,一般可以看网线灯亮没亮。
2025-03-05 09:22:12
450
转载 忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)
Visual studio2008版本报“忽略“/EDITANDCONTINUE”(由于“/INCREMENTAL:NO”规范)”错误。项目属性-连接器,启用增量链接即可。
2025-03-04 14:12:21
37
原创 NTP对时方案
NtpTimer.timer 是一个用于实现网络时间协议(NTP)同步的定时器类。它主要用于在.NET环境中实现网络时间同步功能。
2025-02-25 10:09:53
276
原创 如何建静态库项目(VS2008)
(2)项目文件夹中保留sln,vcproj文件,其他可以删掉,创建inc文件夹用于放头文件,src文件夹存放源代码;(1)Visual Studio新建项目时选择附加选项“空项目”,应用程序类型“静态库”;只需要修改项目属性配置即可,修改项目属性配置链接器-输入中的附加依赖项。只保留sln解决方案和vcproj即可,其余可以删掉。(3)在项目中右击文件夹分别引入头文件、源文件;(4)库文件修改项目属性配置如图所示。
2025-02-25 08:41:05
288
原创 HeidiSQL连接不上远端mysql
绑定 IP 问题:MySQL 的配置文件 (/etc/my.cnf 或 /etc/my.ini) 中可能设置了 bind-address,导致 MySQL 仅监听本地连接。如果 ping 不通,一般是网络问题,需要保证可以正常访问到远程服务器,比如网络接线、访问权限等。如果可以ping 通目标服务器,那么可以排除网络不可达的问题。解决方法:修改 MySQL 配置文件,将 bind-address 设置为 0.0.0.0 或者注释掉该行,0.0.0.0表示所有IP地址都可以访问。
2025-02-17 10:15:32
458
原创 java远程调试方案
比如:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=7066 -jar /tmp/test.jar param。java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=PORT -jar JAR包路径。3.新增配置选择“远程JVM调试”,修改主机为远程IP,端口对应tomcat/bin/catalina.sh jpda地址。
2025-02-17 09:12:15
266
原创 使用HDClone 8基于已有系统镜像修改问题并制作新镜像
4、选择存放本地的路径(一定要选择能放得下系统镜像足够大的磁盘),Name写新系统镜像的名称,不用带后缀img,HDClone会自动拼接后缀,点击Next,跳出来的弹窗点击Continue,后续无需配置,一直点Next;4、选择目标128T硬盘,点击Next,后续一直点Next无需更改,直到start copy,中间如果出现选区可以点击skip跳过。1、拔下第二步修改完问题后的硬盘,用对拷线连接电脑与硬盘;3、选择128T硬盘,点击Next;3、选择原始系统镜像,点击Next。1、对拷线连接电脑与硬盘;
2025-02-13 15:26:57
356
原创 设备启动不起来,出现“a start job is running for monitoring of LVM2 mirrors...”的记录
使用循环重启脚本(web页面设备重启按钮),重启过程不能连接显示屏,重启21次时设备启动不起来,插显示屏,卡在启动页面,按“ESC”,显示屏出现出现“a start job is running for monitoring of LVM2 mirrors...”的记录。(1)修改/boot/grub/grub.cfg文件,在启动菜单项(menuentry)的相应位置linux行添加参数,在quiet后面添加 nvme_core.default_ps_max_latency_us=5500。
2025-02-13 13:12:00
499
原创 密码学之验证证书是否为X509格式
补充:测试同一个证书,尝试了PEM格式以及base64无头尾的证书格式,发现不带头和尾的证书会解析失败,测试的时候证书要带上头尾。
2025-02-12 15:04:45
328
原创 密码学之CA如何验签?
CA(Certificate Authority)被称为证书授权中心,是数字证书发放和管理的机构。根证书是CA认证中心给自己颁发的证书,是信任链的起始点。安装根证书意味着对这个CA认证中心的信任。数字证书颁发过程一般为:1、用户首先产生自己的密钥对;2、 将公共密钥(公钥)及部分个人身份信息传送给认证中心;3、认证中心在核实身份后,将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书内包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息。
2025-02-12 14:53:06
523
原创 扩展网卡驱动加载慢(软件层面)解决方案
设备增加扩展网卡,千兆网卡以及万兆光卡,启动设备后通过ifconfig命令查询网口信息,只能查到板载网口,扩展网口查询不到,可以通过ifconfig -a查询到全部网口,等待几分钟后ifconfig命令才能查询到扩展网口信息。板载网口0、1,扩展网口2、3、4、5,假设扩展网口2口插上网线灯亮,ifconfig查询网口信息是无法查看,通过ifconfig eth2查询会发现2口未显示RUNNING状态;系统启动时没有立即加载扩展网口所在的网卡驱动程序;
2025-02-07 11:44:38
476
原创 网口顺序混乱解决方案
1、在/usr/lib/udev/rules.d/文件夹下创建81-persistent-net.rules规则文件,81表示启动顺序,可自行根据系统调整。在文件中添加类似以下的规则:(ATTR{address}跟着的是MAC地址,可以通过ifconfig查看网口的MAC地址)1、创建一个新的udev规则文件/etc/udev/rules.d/70-persistent-net.rules,在文件中添加类似以下的规则:(ATTR{address}跟着的是MAC地址)2、保存关闭文件,重启系统。
2024-12-27 16:52:12
501
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人