KalosAner Blog

「山穷水复疑无路,柳暗花明又一村。」

五笔字型字根表


程序 CPU 占用率较高如何排查

一、定位 定位到对应的进程,然后因为线程是 CPU 调度的最小单位,找到进程中的线程。 二、分析 CPU 过高可能的原因: 1、代码逻辑问题:死循环或者时间复杂度过高 2、多线程并发:自旋锁滥用(忙等待持续占用 CPU) 3、频繁内存分配释放,缓存未命中 4、频繁的系统调用 三、解决 对于自旋锁可以优化成互斥锁 内存分配频繁可以使用内存池 缓存未命中通常需要设置线程的亲...

dup 和 dup2

一、作用 函数原型 1 2 3 4 #include <unistd.h> int dup(int oldfd); int dup2(int oldfd, int newfd); dup 函数:给 oldfd 指向的“文件”再分配一个新的文件描述符。返回的新描述符是当前进程可用的最小数值,并且源 oldfd 不会被关闭。 dup2 函数:将 oldfd 重定向到 ne...

extern 的作用

一、声明变量或函数 extern 用来声明某变量或函数在其它文件中(extern 是声明外部变量或函数,之前总是以为向外暴露自身的变量或函数)。 extern int val 可以用来声明变量 val 来自其他源文件(是源文件不是头文件,头文件直接 include 就可以了),这样链接器在链接阶段会去其它文件寻找定义,但是变量 val 在其他文件中不能是 static 声明的。 例如:...

如何去除 AI 味

一、什么是 AI 味 首先,AI 在训练的时候会保留数据中较为通用的语言模式和规律,不会出现个性化表达,导致语言风格单一。 其次,人写文章的时候思维很跳跃,但是 AI 文章的结构很机械,逻辑性很强。 二、怎样去除 AI 味 去除 AI 味就是 1、让 AI 语言多元化 2、让 AI 不要太有逻辑 方法一:使用翻译工具 当 AI 写好一篇文章后,批量去掉“首先”、“其次”、“然...

Linux 上安装 Anaconda

一、下载 首先在官网仓库找自己需要的版本,https://repo.anaconda.com/archive/。以 Anaconda3-2024.06-1-Linux-x86_64.sh 为例,在终端输入 wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh。这一步是下载批处理命令脚本,安装成功...

SSH 密钥的生成与使用

一、引言 SSH(Secure Shell)是一种用于安全远程登录和其他安全网络服务的协议。在使用 SSH 时,密钥对(公钥和私钥)可以替代传统的密码认证方式,提供更高的安全性和便利性。 当客户端使用 SSH 连接服务端时需要身份验证,身份验证的方法之一就是使用密钥对。在连接时,私钥保留在客户端上,公钥发送给服务端。相比密码,私钥难以被猜测或暴力破解,提高了连接的安全性。 二、密钥生成...

vscode 的 remote-ssh 插件远程连接失败

一、问题 使用 Windows 上的 vscode 的 remote-ssh 插件远程连接虚拟机中的 Ubuntu 时每次选择完 “platform” 等待一会儿就会提示失败,而不会提示输入密码。 二、原因 原因是我之前使用 Windows 上的 vscode 连接虚拟机的 Ubuntu,这个过程中 Windows 上已经保存了密钥在 “C:\Users\Administrator.s...

Linux 文件权限和 umask

在 Linux 系统中,进程的 umask 会决定创建出的文件和目录的默认权限。umask 默认为 022 ,这意味着创建出的文件权限为 644(rw-r--r--),目录权限为 755(rwxr-xr-x)。 文件权限的表示方法都是二进制对应着权限的有无,分别对应着:root 用户,用户组用户,拥有者的权限。例如这里的 6 就是 root 用户,它的二进制表示为 110 对应着 r...

Linux 守护进程原理和创建

一、引言 定义与特性 守护进程也就是通常说的 Daemon 进程,守护进程会不断地运行提供服务,类似于 Windows 上的系统服务。它有以下特性: 独立运行:启动后常驻内存,不受终端控制。 独立于用户:通常由 root 用户运行,不受普通用户影响。 提供服务:守护进程通常会持续提供服务,如监控端口。 通常由系统启动:系统启动时通常会启动所有的守护进程。 生命周期:常常在系统启...