Golang项目引入循环日志功能
摘要:Golang项目中,需要增加循环日志功能,但是从网上资料看,Go本身log包,功能比较简单,只提供了基本的日志输出, 并且没有日志级别控制,日志文件分割和回滚,以及日志分发等功能。 查阅几篇网络资料,决定引入logrus软件包,它完全兼容golang标准库日志模块:拥有六种日志级别:debug、in
阅读全文
搭建Linux Go项目工程环境
摘要:下载和安装Go软件包 下载地址: https://studygolang.com/dl 安装Go关键包 # rm -rf /usr/local/go && tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz 设置go环境变量 编辑 /etc/prof
阅读全文
sshd服务启动失败问题
摘要:查看/etc/ssh/ssh_host_ed25519_key权限是755,其他用户也有访问权限,修改该文件权限为600后,重启sshd服务成功 启动后,发现/etc/ssh/ssh_host_rsa_key和/etc/ssh/ssh_host_ecdsa_key文件也是755权限,也需要修改为60
阅读全文
Linux file命令获取core文件所属进程问题
摘要:近期新系统测试时产生了大量core文件,把系统盘塞满了。 检测工具使用file命令,检测到某个进程的core文件数目大于3个,就把多余core文件删除,但是系统上线后,并没有删除多余的core文件。 原因在于 新OS系统中,file命令限制了解析program header数目,默认是128个,所以
阅读全文
C++ string类赋值并发问题
摘要:前一段排查产品的一个异常问题,是有关C++ string类的,做字符串赋值操作时,应用程序崩溃了。 堆栈信息如下: 经过分析代码,发现同一个字符串变量会在多个线程里做赋值操作,而且没有加锁保护。 string类字符串赋值操作是线程不安全的,当多个线程同时对同一个string类变量做赋值操作时,就会产
阅读全文
Linux 内核编译笔记
摘要:这几天处理一个线上设备异常重启问题,需要安装内核的debuginfo软件包。虽然OS团队提供了相关的debuginfo软件包, 但是还想自己尝试编译一次。 拿到了相关OS内核的src.rpm软件包,如下所示: -rw-r--r-- 1 root root 82990501 Aug 8 2017 ke
阅读全文
Linux Simple Systemd Service Guide
摘要:A simple guide for Linux systemd service
阅读全文
SUSE11sp3 perf工具安装过程
摘要:工作环境是suse11sp3系统(内核版本3.0.101-0.47.90-default),需要通过perf排查系统性能问题,但是默认是没有perf工具的。 在网上搜索了一下,需要linux-tools工具包,幸好手上有SUSE11sp3 ISO文件,直接在ISO的suse/x86_64目录下 找到
阅读全文