- 博客(10)
- 收藏
- 关注
原创 C语言内存管理
C语言中不允许全局变量动态初始化(但局部静态变量可以,不过也要是常量表达式,C99之后可以用非常量表达式初始化局部静态变量,但也是在程序执行到该定义时初始化一次,但全局变量不行)在多线程环境中要小心(多线程环境中要小心是因为静态变量在内存中只有一份实例,会被所有线程共享,同时修改可能导致数据竞争,需要加锁保护)注意默认初始化为0(静态变量(包括全局和局部静态)在程序加载时会被自动初始化为零值(int为0,指针为NULL),无需手动赋初值)3. 栈(Stack):函数调用时自动分配,调用结束自动释放。
2025-12-10 01:09:35
125
原创 为什么你的多线程程序跑得慢?罪魁祸首可能是CPU缓存一致性
定义:什么是cpu缓存一致性?在拥有多级缓存的多处理器系统(如多核cpu)中,确保所有cpu的缓存的数据副本与内存保持一致性的硬件机制。如共享变量。核心价值:为什么需要它?它解决了什么问题?保持数据的一致性,避免对共享数据读取不一致而导致程序运行错误。
2025-10-22 00:20:40
786
原创 Docker资源控制实践(openruler)
docker:--cpu-shares 容器cpu使用份额;--cpuset-cpu 容器绑核;--cpus 容器使用cpu数量;--cpu-period 设置每个容器进程的调度周期--cpu-quota 设置在每个周期内容器能使用的 CPU 时间参数实践1:--cpus参数实践2:--cpuset-cpu参数实践3:--cpu-period、--cpu-quota随机查看一个未配置的docker容器。
2025-07-08 21:29:55
755
原创 Docker原理
云计算兴起,部署应用存在三大难题:环境不一致:每个服务器上总不同的环境问题资源浪费:虚拟机需要OS完整副本,内存开销大部署低效:应用依赖复杂,部署流程长docker的产生便是综合解决这三大痛点的。痛点1:镜像打包整个运行环境(包括os文件系统、应用、系统库文件等)痛点2:系统级虚拟化,容器共享主机内核,资源开销小痛点3:标准化镜像分发容器和虚拟机的差异:1、容器共享宿主机内核,组成为:进程 + 依赖库 + 文件系统(无独立内核),依赖宿主机的内核。
2025-07-01 00:45:18
1232
原创 Linux根分区不足时LVM在线调整
物理磁盘空间(分区)→物理卷→卷组→逻辑卷→lvextend→更大空间的LV→resize2fs→扩展ext4文件系统→分区可用空间增加。物理磁盘空间(分区)→物理卷→卷组→逻辑卷→lvreduce→更小空间的LV→resize2fs→缩小ext4文件系统→分区可用空间减小。: 调整ext2/ext3/ext4文件系统的大小(在已经调整了逻辑卷大小之后,或者之前,但顺序很重要)。XFS不支持缩小,如果需要缩小,只能备份、重建文件系统并恢复数据。3、调整文件系统(缩小分区前必须先缩小文件系统)
2025-06-21 10:55:43
377
原创 内存调试工具valgrand实践之Memcheck
Valgrind是一个用于内存调试、内存泄漏检测、性能分析和多线程问题检测的工具集。它主要在Linux系统下使用,但也可以通过其他方式在macOS上运行。Valgrind包含多个工具,每个工具针对不同的调试或分析任务。核心工具包括Memcheck(默认工具,用于内存错误检测)、Helgrind(多线程错误检测)、Cachegrind(缓存分析)、Callgrind(调用图分析)、Massif(堆分析)和DHAT(动态堆分析)。
2025-03-31 08:15:00
559
原创 VMware安装OpenEuler全屏显示异常?两步彻底解决虚拟机界面小、无法铺满屏幕问题
在VMware中安装OpenEuler操作系统后,虚拟机界面显示区域过小,无法自适应宿主机屏幕尺寸。如下:系统分辨率和虚拟机分辨率不一致。1、确认你的系统分辨率,win10空白处右键,选择显示即可。2、openruler虚拟机右键,选择显示设置,分辨率设置为与windows系统一致后保存即可。
2025-02-15 09:00:00
912
原创 openruler安装可视化界面dde时报错at lease 698M more space needed on the / filesystem
安装的OpenRuler可视化桌面时虚拟机根文件系统空间不足
2025-02-13 08:45:00
373
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅