自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 CPU飙高,系统性能问题如何排查?

系统性能问题如何排查

2022-07-18 10:36:32 623

转载 全面了解linux TCP/IP协议栈

简要说明自从熟悉了linux socket编程(主要做posix socket的TCP/IP)之后,就一直以来就想写一篇对TCP/IP有一个比较全面的涵盖用户空间、内核以及网卡的文章,以便帮助大家在遇到基于socket的TCP/IP问题或困惑时能进行有目的的、恰当的分析以便解决问题。只是一是本人上学时是个“不学无术”的不良少年。工作后自己也是不断学习中,还有比较忙(都是懒的借口吧,不然怎么还有时间看龙珠),一直没动笔,今天就花一下午时间来做一个介绍。如果大家发现了谬误之处,请及时留言,我好更正之、学习之

2020-12-29 20:18:56 424

原创 网络相关的命令总结

1 查看MTU 在本机打开dos窗口,执行:ping -f -l 1472 192.168.0.1 其中192.168.0.1是网关IP地址,1472是数据包的长度。请注意,上面的参数是“-l”(小写的L),而不是“-1”。 如果能ping通,表示数据包不需要拆包,可以通过网关发送出去。 如果出现:Packet needs to be fragmented but DF set.表示数据包需要拆开来发送。此时,减少数据包长度,再执行上面的ping命令。从1400到1472之间...

2020-12-28 11:23:43 648

原创 linux性能分析

参考Brendan Gregg大神的博客 http://www.brendangregg.com/

2020-07-24 11:07:54 134

转载 EPIPE和ECONNRESET

RST包:假设Server A上面有Process X,它有一个socket M,和另外的Server B上面的Process Y的 Socket N以TCP协议连接上了,那么,据我所知,有2种情况会出现RST包:(1)X没有close socket就退出了,然后Y继续向M send数据,A的内核就会发送RST 到 socket N;(2)X设置了SO_LINGER,其中l_onoff ...

2020-04-16 09:13:58 528

原创 软件设计与UML

软件设计流程1.问题定义阶段2.可行性研究阶段3.需求分析:解决软件"做什么"的问题 功能需求 性能需求 用户和人的因素 环境需求 界面需求 文档需求 数据需求 资源需求 安全保密需求 可靠性需求 软件成本消耗和开发进度需求 其他非功能性需求 UML:用例图、状态图、时序图:...

2020-04-08 19:45:46 252

原创 算法时间复杂度-对数复杂度

衡量一个算法性能好坏的指标:时间复杂度、空间复杂度在上位机中,更关注时间复杂度。时间复杂度的衡量方法:大O计法常见的几种时间复杂度:O(n3) O(n2) O(nlogn) O(n) O(log n) O(1)在分析时间复杂度时,对数负责度最为复杂。对数最常出现的规律为:如果一个算法用常数时间将问题的大小削减为其一部分(通常为1/2),那么该算法的时间复杂度为O(log N)exa...

2020-04-07 22:43:06 2871

原创 C++匿名对象

匿名对象(临时对象) (自动构造,自动析构)C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生匿名对象:1.以值的方式给函数传参,会产生临时对象,为方便区分,称为"参数匿名对象";2.函数需要返回一个对象时,会产生临时对象,为方便区分,称为"返回匿名对象"3.类型转换时,会产生临时对象,为方便区分...

2020-03-29 13:45:19 3362

原创 SOCKET数据读取和数据发送

本文讨论数据收发时,如何判断收发成功还是失败,以及通过具体的errno判断具体出现的异常情况相关函数解析说明:ssize_t read(int fd, void *buf, size_t n); 返回:若成功,返回读取的实际字节数;若EOF,则返回0;若出错,返回-1ssize_t write(int fd, const void *buf, size_t); 返回:若成功...

2020-03-26 12:27:20 1499

原创 C/C++命名规范

个人开发中,常用命名规范主要由驼峰命名法和下划线命名法:驼峰命名法 CamerClass是指混合使用大小写字母来构成变量和函数的名字大驼峰:首字母也大写;适用于:类名,命名空间,小驼峰:首字母小写;适用于:变量下划线命名法:单词之间用下划线分割在日常开发中,根据实际情况,所采用的命名规范按如下次序:与系统其它模块的命名规范保持一致 参照公司的相关命名规范 参照知名度...

2020-03-08 12:52:25 454

原创 服务器性能监控及常用命令

服务器性能监控该内容有一部分学习至《大型网站性能优化实战》一书性能优化的前提是发现问题,定位性能瓶颈,确定优化方向。完备的性能监控指标是前提。服务器性能监控主要分为两个层次:应用层面的监控和系统层面的监控。应用监控1.QPS Query per Second,请求数/秒2.RT(response time) 相应时间。表示从接受请求开始到服务器处理完成的时间差值补充:RT = C...

2020-03-02 14:45:46 1660

原创 GCC编译总结

编译步骤-E 1.预处理,生成.i的文档[预处理器cpp]-S 2.将预处理后的文档不转换成汇编语言,生成文档.s[编译器egcs]-C 3.有汇编变为目标代码(机器代码)生成.o的文档[汇编器as]4.连接目标代码,生成可执行程式[链接器ld]指定生成的目标文件名-o 文件名指定头文件或库文件的位置-Idir dir为头文件位置-Ldir dir为库文件位置-l...

2020-02-26 17:07:06 743

原创 strace调试总结

strace工具用于跟踪进程执行时的系统调用和所接收的信号,包括参数、返回值、执行时间。在Linux中,用户程序要访问系统设备,必须由用户态切换到内核态,这是通过系统调用发起并完成的。strace常用参数:-c   统计每种系统调用执行的时间、调用次数、出错次数,程序退出时给出报告-p pid   跟踪指定的进程,可以使用多个-p同时跟踪多个进程-o filename   s...

2020-02-26 17:06:18 147

原创 GDB调试总结

调试器必须具备的功能:建立可执行程序和源码的联系设置断点执行基本的调试命令程序暂停后,查看各种信息GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。gcc编译时加上-g参数,可以使可执行程序加上gdb调试信息。过命令行的方式调试程序。它使你能在程序运行时观察程序的内部结构和内存的使用情况GDB完成以下四个方面的工作:启动你的程序,修改一些东西,从而影响程序运行的行为...

2020-02-26 17:04:52 928

原创 C++岗位面试/笔试

总结笔者近半年的面试经验原则:重基础,数据结构/算法/STL底层实现原理;表,队列,树,图等相关; 算法:常用经典算法:排序(各种排序),背包算法等等 SLT底层原理:map如何实现等等 linux相关:常用命令,gdb调试(必备) 模板:泛型编程 设计模式:观察者模式...... 数据库:sql语句,mysql和Oracle的区别....面试1前不久,参加某大型国企c+...

2019-05-29 19:52:03 317

原创 点滴记录,0到1

距离上篇博客已半年之久,这半年时间,笔者一直在忙于找工作,笔试->被刷,笔试->面试->被耍;偶有幸获得一两offer。现已入职月余,新的工作,新的生活,扬帆起航,希望未来一起都好。上篇提到,笔者的职业规划有两个方面:后台开发和视觉算法。新入职的公司,职位是后台发开,有幸接触海量数据(亿级别)、数据库调优、分布式、JAVA、kafka....毕业三年,三份工作:其...

2019-05-29 19:50:26 134

原创 点滴记录,从0开始

大学毕业两年有余,两份工作;其一:国家电网某直属单位,软件开发岗,浑浑噩噩,遂离职;其二:北京某高兴技术企业,C++岗位,入职10月有余;个人职业定位:二选其一(1)从事底层网络通信,消息中间件方面;(2)从事计算机视觉方面,从工程师做起,转想算法研究员;从今日起,开始记录每周所学所得,为自己加油!...

2018-10-22 18:02:48 260

空空如也

空空如也

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

TA关注的人

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