自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 Swap Out(换出)与 Swap In(换入)全流程解析

当进程访问已换出的页时,将其从交换区读回物理内存。移动到交换区,释放物理内存空间。

2025-03-26 11:04:39 750

原创 进程存储相关的关键数据结构

通过以上代码和结构体,内核精确控制用户进程的内存生命周期。开发调试时可结合/proc文件系统和内核工具进行深度观测。

2025-03-07 15:33:38 322

原创 malloc 和 mmap

是 Linux 系统中用于动态内存管理的两种不同机制,它们在实现原理、适用场景和行为上有显著差异。

2025-03-07 11:06:53 762

原创 物理内存组织与分配的核心概念

这些层级结构共同实现高效、灵活的内存管理,平衡性能、碎片控制和硬件兼容性。是描述物理内存组织与分配的核心概念。在 Linux 内核内存管理(尤其是。

2025-02-28 21:34:42 861

原创 应用中的 Crash 和 ANR

ANR 是指应用的主线程(UI 线程)在规定时间内未能完成用户操作或系统任务,导致应用被系统判定为无响应。开发者需分别针对代码健壮性(Crash)和主线程性能(ANR)进行优化,同时关注系统资源管理和异常处理的全面性,才能提升用户体验。应用因未处理的异常(如空指针、内存溢出)或系统强制终止(如 OOM)而突然退出,用户通常会看到“应用已停止”的提示。Crash 是由于应用在运行时发生了无法处理的异常或错误,导致程序异常终止。是两种常见的异常现象,它们在表现、触发机制和原因上既有区别,也存在潜在关联。

2025-02-17 10:29:39 666

原创 内存映射工作原理和适用场景

Linux 内存映射

2025-02-08 13:55:07 989

原创 Slab分配器

slab 分配器是一种高效的小对象内存管理机制,而 slab 层则是基于 slab 分配器构建的抽象层,为内核提供了统一的小对象内存管理接口。它们共同协作,提高了内核内存分配和释放的效率,减少了内存碎片。Slab分配器通过预分配和缓存机制,显著提升了内核内存管理的效率。Slab中分配的最小内存单元,大小固定,由缓存类型决定。查看所有Slab缓存的详细信息(对象数量、内存占用等)。创建,包含对象的元数据(大小、对齐、构造函数等)。,划分为多个相同大小的对象(Object)。的对象(如进程描述符。

2025-02-07 14:05:07 672

原创 Linux内存相关

Linux内存管理通过分页、伙伴系统、Slab等机制平衡效率与碎片问题,但需结合场景规避常见陷阱(如泄漏、碎片、OOM)。理解NUMA、CMA、THP等特性,结合监控工具(freevmstat)和调优手段,可显著提升系统稳定性。

2025-02-06 20:08:53 571

原创 伙伴系统关键实现原理和机制

在内核中高效分配物理连续内存,是 Slab 等上层分配器的基石。其设计平衡了性能与碎片问题,但在极端场景仍需结合其他机制(如内存压缩、CMA)优化。是 Linux 内核中用于。的核心分配器,其核心目标是。)独立管理伙伴系统。

2025-02-06 20:03:19 744

原创 sed: 无法读取 modules.order: 没有那个文件或目录 Makefile:1311: recipe for target ‘_modinst_‘ failed make: *** [_m

这个错误提示表明在执行 sudo make modules_install 命令时,出现了无法读取 modules.order 文件的错误。可能是因为您之前没有成功编译内核,或者编译过程中出现了其他错误导致该文件没有生成。可以尝试重新编译内核并执行 sudo make modules_install 命令。如果编译和安装过程没有出现其他错误,那么您应该可以成功安装内核模块了。sed: 无法读取 modules.order: 没有那个文件或目录。

2024-01-14 20:27:01 3414

原创 QT笔记总结——知识点回顾(自用)

一、QT入门1.基础窗口类2.内存回收3.日志4.字符串类(1)构造函数(2)数据操作(3)子字符串查找和判断(4)遍历(5)查看字节数(6)类型转换(1)构造函数(2)数据操作(3)子字符串查找和判断(4)遍历(5)类型转换(6)字符串格式4.3 QByteArray和QString区别(1)包装基础数据类型(2)包装自定义数据类型4.5 点, 线, 尺寸, 矩形类4.6 日期和时间类(1)QDate类(2) QTime5.信号槽5.1 信号与槽5.2 标准信号槽的使用5.3 自定义信号槽的使用。

2023-10-05 16:42:05 735

原创 c++算法:数组(循环不变量原则)

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。循环不变量原则:区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ]给定一个正整数 n,生成一个包含 1 到 n^2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵。

2023-08-12 22:05:26 337

原创 RuntimeError: CUDA error: out of memory解决方法

比如有0,1,2,3号GPU,CUDA_VISIBLE_DEVICES=2,3,则当前进程的可见GPU只有物理上的2、3号GPU,此时它们的编号也对应变成了0、1,即cuda:0对应2号GPU,cuda:1对应3号GPU。服务器的默认GPU显卡正在使用,需要使用GPU的另一个空闲的显卡;linux里查看GPU的显卡使用状态用代码。具体原因:使用CUDA_VISIBLE_DEVICES限制使用的GPU。我的是第二种情况,前一天可以运行的第二天不知道什么情况就报这个错误了。

2023-04-16 14:12:02 774

原创 【C++】为什么greater<int>是降序排列

来排序时,它会按照降序排列(即从大到小),因为它会将返回的bool值取反,导致大于号(>)变成小于号(

2023-04-09 20:45:01 1012

原创 AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘

服务器出现错误

2023-04-07 15:22:41 7057 4

原创 【深度学习】调参问题

找到最佳学习速度以加快收敛,决定了更新权重的速度。

2023-03-31 15:33:19 229

原创 c++什么时候使用new,调用构造函数

对象:可以调用成员函数,不可以调用构造函数。类里面用new实现多态, 有的时候解决类。构造函数调用,什么时候使用new。

2023-03-14 11:35:06 1167

原创 【c++】bind+function实现线程池

【代码】【c++】bind+function实现线程池。

2023-03-09 09:42:20 160

原创 linux服务器代码编写

linux实现多进程服务器

2023-03-01 14:14:32 311

原创 【c++】力扣算法刷题 + 算法常用思想

力扣c++刷题总结:回溯算法,双指针算法,链表,动态规划,分治等

2023-02-17 14:47:30 1904

原创 python知识点补充:维度问题(多维),如何判断几维

即在第一维度第一个元素上的第二维度元素有六个分别是[0,2],[1,2],[1,3],[1,4],[2,1],[3,2];第一维度第二个元素上的第二维度元素也有六个分别是[1,1],[2,2],[3,3],[4,4],[5,5],[6,6];因此对于一个numpy多维array,[:,:,:,:,…第一个元素是[[0,2],[1,2],[1,3],[1,4],[2,1],[3,2]];第二个元素是[[1,1],[2,2],[3,3],[4,4],[5,5],[6,6]];,从后往前看就是,取出。

2022-10-19 09:54:38 2615 1

原创 Transformer代码简单实现2

由于在 Encoder 和 Decoder 中都需要进行 mask(和矩阵原大小一样,有问题的地方加负无穷) 操作,因此就无法确定这个函数的参数中 seq_len 的值,如果是在 Encoder 中调用的,seq_len 就等于 src_len;这里要做的是,通过 Q 和 K 计算出 scores,然后将 scores 和 V 相乘,得到每个单词的 context vector。不同batch之间句子长度可以不一样,但是每个batch的长度必须是一样的:因此出现一个问题,输入计算的,需要知道每个字的。

2022-09-27 11:01:25 1154

原创 Pycharm的使用-操作和快捷键

链接:https://www.cnblogs.com/nickchen121/p/16479536.html。

2022-09-20 22:01:27 402

原创 Day06代码练习:transformer的实现

博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看。B站:去钓鱼的程序猿

2022-09-16 21:46:01 1052

原创 论文中出现的 cf. i.e. s.t. e.g. w.r.t. et al. etc等英文缩写是什么意思

例句:Inherently, the vision-only problem has six DoFs that are unobservable and need to be held fixed during optimization, i.e. the absolute pose.例句:Twb = (Rwb, Wp) is the pose of the body frame b w.r.t. the world frame w.源自拉丁文exempli gratia。

2022-09-11 16:52:02 2300

原创 数学建模MATLAB代码知识点集合

中,B矩阵的大小由MxN及A矩阵的内容决定,如果A是一个3x4x5的矩阵,有B = repmat(A,2,3)则最后的矩阵是6x12x5。说明:简单随机交叉验证,在n个样本中选择n*p个样本作为测试集(0

2022-09-11 16:48:03 834

原创 5-优化器

1

2022-07-13 21:24:57 108

原创 4-拟合问题

1

2022-07-13 21:24:01 191

原创 3-dnn

1

2022-07-13 21:22:43 104

原创 02隐藏层

2

2022-07-13 21:21:42 132

原创 自用-吴恩达深度学习作业-01.cat

1

2022-07-13 21:20:24 110

原创 pytorch深度学习基础快速入门7:完整模型训练套路

因此在训练文件中要引入model(model和train文件一定要在一个文件夹下)-----------------测试数据集评估(不需要调优)加限制条件(避免无用信息)优化:tensorboard进行画图输出1,1(横着看)计算对应位置正确的个数:57:74:网络层中是否有特殊层顺序:6.具体实例网络模型加载网络模型预测最大结果:...

2022-06-27 21:27:27 1125 1

原创 pytorch深度学习基础快速入门6:现有网络模型的使用及修改、网络模型的保存与读取

false:网络架构替换,参数默认(没训练)true:(训练好的)如何利用现有网络进行修改:vgg分为100类–》10类:(1)加入层加到classifier中:(2)修改(1)(2)第二种方式更小恢复成网络模型(3)陷阱(方式1)保存:加载:应该确保网络模型是想要的模型(要重新引入class模型)—》其实是可以单独引入到model.load中(import)...

2022-06-27 20:24:23 658

原创 pytorch深度学习基础快速入门5:小实战、损失函数与反向传播、优化器

模型可视化详细:计算每个节点的参数,有了参数的梯度,就可以选取合适的优化器,以达到整体误差减小的作用。构造优化器调用优化器step方法(利用梯度进行更新)step利用grad对参数进行更新。(但是参数比较小,所以变化不会很大)循环往复,使得loss变小。该循环只是对数据进行一轮学习,因此在循环外再套一层循环:...

2022-06-25 20:50:24 274

原创 pytorch深度学习基础快速入门4:nn.Module的使用、卷积层

1

2022-06-24 20:31:40 216

原创 pytorch深度学习基础快速入门3:torchvison的使用+dataloader的使用

B站:小土堆+迅雷下载数据集datasetdataloader:加载器,从dataset中取

2022-06-24 19:56:35 259

原创 pytorch深度学习基础快速入门:卷积操作:卷积层、池化层、非线性激活、线性层

对应代码:二维矩阵**[[**尺寸只有高和宽,并不满足下面图片的参数(尺寸变换)接下来用卷积函数:变换数据input,想变换的大小:padding空白处为0

2022-06-22 20:57:28 352

原创 pytorch深度学习基础快速入门1:两大函数+Tensorboard的使用

B站:小土堆。

2022-06-22 19:27:27 220 1

原创 pytorch深度学习基础快速入门2:torchvison中的transforms

B站:小土堆transforms主要是对图片进行变化

2022-06-22 17:09:42 186

原创 pycharm写代码时查看该方法需要什么参数

ctrl+p

2022-06-22 16:49:47 184

空空如也

空空如也

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

TA关注的人

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