自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++中的原子操作

原子类型是多线程编程中重要的开发工具,能够有效的避免数据竞争问题,并且能够提高程序的安全性和性能。通过合理使用原子类型可以开发出高效 的并发代码。

2024-09-26 10:12:04 521

原创 Linux之linux内存的工作原理

物理内存也称 为主存,大多数计算机用的主存都是动态随机访问内存(DRAM)。只有内核才可以直接 访问物理内存。那么,进程要访问内存时,该怎么办呢?Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这 样,进程就可以很方便地访问内存,更确切地说是访问虚拟内存。虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同字长(也就是单个 CPU 指 令可以处理数据的最大长度)的处理器,地址空间的范围也不同。比如最常见的 32 位和 64 位系统。如下图所示。

2024-09-19 20:20:13 898

原创 linux环境下的多线程gdb调试

在当前文件的linenum打断点在file文件的linenum打断点在dir目录file文件的linenum打断点​。

2024-09-19 19:48:04 963

原创 迅速分析出系统的cpu瓶颈在哪

第二个,上下文切换的案例。然后通过 sar 命令,发现是网络小包的问题,最后再用 tcpdump ,找出网络帧的类型和来源,确定是一个 SYN FLOOD 攻击导致的。而在平均负载升高后,又用 mpstat 和 pidstat ,分别观察了每个 CPU 和每个进程 CPU 的使用情况,进而找出了导致平均负载升高的进程,也就是我们的压测工具 stress。但过多的上下文切换,会将原本运行进程的 CPU 时间,消耗在寄存器、内核栈以及虚拟内存等数据的保存和恢复上,缩短进程真正运行的时间,成为性能瓶颈。

2024-04-23 16:47:38 1044

原创 Linux性能优化---系统中出现大量的不可中断进程

因此,碰到 iowait 升高时,需要先用 dstat、pidstat 等工具,确认是不是磁盘 I/O 的问题,然后再找是哪些进程导致了 I/O。等待 I/O 的进程一般是不可中断状态,所以用 ps 命令找到的 D 状态(即不可中断状态)的进程,多为可疑进程。但这个案例中,在 I/O 操作后,进程又变成了僵尸进程,所以不能用 strace 直接分析这个进程的系统调用。这种情况下,我们用了 perf 工具,来分析系统的 CPU 时钟事件,最终发现是直接 I/O 导致的问题。

2024-04-19 09:54:19 551

原创 linux性能提升---上下文切换

1、Linux 是一个多任务操作系统,它支持远大于 CPU 数量的任务同时运行。当然,这些任务实际上并不是真的在同时运行,而是因为系统在很短的时间内,将 CPU 轮流分配给它们,造成多任务同时运行的错觉。而在每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储 CPU 正在执行的指令位置、或者即将执行的下一条指令位置。

2024-04-18 15:00:42 1100 1

原创 Linux性能提升----平均负载均衡

不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。所谓可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。

2024-04-18 14:36:08 637 1

原创 嵌入式学习之stm32

ST:指意法半导体M:指定微处理器32:表示计算机处理器位数ARM分成三个系列:Cortex-A:针对多媒体应用Cortex-R:针对对实时性和性能有一定要求的场景Cortex-M:针对低功耗高性能的场景 Cortex-M0、Cortex-M3、Cortex-M4广泛应用于智能手环、飞行器、平衡车、POST机、智能家电、3D打印机、工农业等各个领域,完成终端控制、边缘计算等任务,是大数据背景下信息和流量的入口。不同场景应用具体可以参考产品选型手册:《STM8和STM32产品选型手册》

2023-10-23 21:30:19 1003

原创 员工打卡门禁系统

3、编写CGI程序,实现前端指令的解析执行和数据库操作,实现管理员和普通员工的权限管理、管理员用户和员工用户信息增删改查处理、基于部门的检索管理、员工考勤信息(迟到、早退的信息检索上传)、事件(事假、调休、补卡)申请与处理(申请提交,管理员界面事件驳回和允许)、员工考勤日志、事件申请日志、管理员操作日志等信息入库和上传;项目目的:做这个项目,主要是为了熟悉A53开发板得使用,并且熟悉关于嵌入式的一些东西,我自己觉得这些东西很有意思。

2023-10-21 17:40:17 450 2

原创 一些算法模板啦

1、中序遍历前序遍历。

2023-10-21 16:22:53 130 1

原创 嵌入式学习之zigbee

低功耗,相比目前的wifi蓝牙功耗更低 低成本,协议栈免专利费,IC结构简化 低速率,工作在20~ 250kbps的速率 近距离,在不增加功率放大器的情况下,一般介于10~100米之间 短时延,无论是唤醒 还是入网都在毫秒级 高容量,同一协调器最多管理65000+节点 自组网,因移动或信号干扰断网后自组 自愈 高安全,支持AES128位对称加密通信 免执照,使用工业科学医疗(ISM)频段,915MHz(美国), 868MHz(欧洲), 2. 4GHz(全球)

2023-10-19 21:22:56 550

原创 嵌入式学习之RFID

RFID:RFID”又称无线射频识别。非接触式特性应答器(PICC)卡片:被动式,主动式,半主动式,每个标签具有唯一的电子编码,附着在物体上标识目标对象阅读器(PCD)由天线RFID的协议分类:分别是TYpeA和TYpeB互相不兼容。

2023-10-18 19:30:35 2178 1

原创 网络编程总结二

万维网服务器的概念:定义为万维网用户提供文件或应用程序访问的服务器。

2023-09-22 18:00:42 56

原创 对于学习tcp的一些补充

正如我之前一篇博客说过的tcp的三次连接预防的是SYN攻击中,可能会虚拟出来一些真实的源ip这样的话,使用tcp三次连接,第一次是虚拟的地址发送请求,而服务器会找到真实的ip发送请求,如果存在的话那么就会发出ack应答,这样就会避免一部分。

2023-09-21 21:46:56 48

原创 网络编程的总结

最近

2023-09-18 21:19:13 217 1

原创 git的使用

git pull <远程仓库名> <远程分支名> 拉取远程仓库指定的分支并且与当前分支合并 git pull <远程仓库名> <远程分支名>:<本地分支名> 不合并。git mv <源文件> <目的目录> 在本地仓库中将源文件移动目的目录中(本地也会移动) git rm <文件名> 在本地仓库中删除指定的文件(本地也会删除)git push 将本地仓库的文件推送到远程仓库 git pull 从远程仓库中更新代码 git fetch 也用于更新,但是如果有新的分支不会合并。

2023-09-14 17:33:07 143 1

原创 编程英语1

自己总结的一些编程英语

2023-09-14 17:27:32 67 1

原创 牛客刷题c语言总结

之前在自己的笔记中总结了一些刷题c语言的问题,希望对大家会有一点帮助

2023-09-14 17:20:10 188 1

原创 基于qt的音乐播放器项目

音乐播放器,基于mplayer播放器工作的salve模式。主要应用了进程间的通信以及Qt中信号与槽机制等方式实现功能,对歌词进行切割操作,通过map容器存放切割好的歌词,根据时间对比实现了歌词与歌曲时间同步显示、播放歌曲是图形界面显示歌曲列表以及歌词信息等歌曲信息、界面按钮的功能实现(如:播放暂停、上/下一曲、静音以及音量调节等),可通过拖动进度条调节歌曲播放百分比、点击歌词可实现歌曲时间同步等功能。

2023-09-14 17:16:38 1377 2

原创 集群聊天服务器项目总结

之前做了一个集群聊天服务器项目,好久没有再看了,在看的同时我会更新我的博客。技术栈包括Json序列化和反序列化muduo网络库开发nginx源码编译安装和环境部署nginx的tcp负载均衡器配置redis缓存服务器编程实践基于发布-订阅的服务器中间件redis消息队列编程实践MySQL数据库编程CMake构建编译环境Github托管项目

2023-09-14 08:16:14 866 2

空空如也

空空如也

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

TA关注的人

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