![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux
newrtc
这个作者很懒,什么都没留下…
展开
-
ubuntu20.04安装mysql8
ubuntu20.04 安装mysql8原创 2022-06-29 11:27:22 · 535 阅读 · 0 评论 -
Linux中buff-cache占用过高解决方案
Linux中buff-cache占用过高解决方案我们在使用free -h查看系统内存的时候,有时间会发现buff/cache很高free -havailable 表示应用程序可以申请到的内存什么是buffbuff(Buffer Cache)是一种I/O缓存,用于内存和硬盘的缓冲,是io设备的读写缓冲区。根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。什么是cachecache(Page Cache)是一种高速缓存,用于CPU和内存之间的缓冲 ,转载 2022-04-27 10:39:04 · 3972 阅读 · 0 评论 -
AddressSanitizer 查找内存问题
服务器开发,有些时候遇到很奇怪的问题,可能运行几个周会出现一次异常,有些内存问题可以借助AddressSanitizer 定位centos g++版本切换https://blog.csdn.net/liuhongxiangm/article/details/124129742这个方法只是临时生效我是在.bashrc里加了source /opt/rh/devtoolset-10/enableAddressSanitizerAddressSanitizer 是一个性能非常好的C/C++ 内存错误原创 2022-04-26 14:19:04 · 366 阅读 · 0 评论 -
centos 切换g++
添加源sudo add-apt-repository ppa:ubuntu-toolchain-r/test 安装工具集 gdb等sudo yum install devtoolset-7.x86_64sudo yum install devtoolset-8.x86_64sudo yum install devtoolset-9.x86_64sudo yum install devtoolset-10.x86_64sudo yum install devtoolset-11.x86_64原创 2022-04-12 17:35:57 · 579 阅读 · 0 评论 -
centos7 虚拟机中,网卡不启动的解决方式
使用NAT模式的虚拟centos, 只显示两个网卡,无法连接外网,输入systemctl start network后报错信息"Restarting network (via systemctl): Job for network.service failed because the control process exited with error code.See “systemctl status network.service” and “journalctl -xe” for detail原创 2022-03-23 11:25:44 · 2252 阅读 · 2 评论 -
sudo apt-get update 出现InRelease问题
sudo apt-get update 出现InRelease问题ubuntu@ubuntu:~$ sudo apt-get update[sudo] ubuntu 的密码:命中:1 http://repo.zabbix.com/zabbix/3.2/ubuntu xenial InRelease命中:2 http://security.ubuntu.com/ubuntu xenial-security InRelease命中:3 http://cn.archive.ubuntu.com/ubun原创 2021-06-02 16:14:13 · 1162 阅读 · 0 评论 -
QtCreator无法调试终端程序,启动报错SIGSTOP
现象qt调试终端程序,当有创建线程的时候,收到信号SIGSTOP 而退出,无法调试程序。解决解决方式是,设置GDB不处理SIGSTOP ,在QtCreator中进入GDB命令设置窗口:Tools -> Options -> Debugger -> GDB -> Additional Startup Command在 Additional Startup Command 中添加如下内容:handle SIGSTOP nostop pass...原创 2021-03-16 17:19:02 · 1892 阅读 · 3 评论 -
海思hisi 使用std::thread崩溃问题解决
平台:海思3516dsdk:hisi-v600在使用c++11 线程std::thread时,创建线程会崩溃cflag增加 -mcpu=cortex-a9原创 2021-01-20 17:50:04 · 669 阅读 · 0 评论 -
linux下so包含函数名冲突解决
一个项目可能包含多个so,但是不同的so中可能包含相同的函数名。在编译和连接的时候不会报错,但是在执行的时候可能会出现莫名其妙的错误,多是段错误。解决办法1、修改函数名(费时费力)2、隐藏so中的函数最稳妥的办法:cflag 加上 -fvisibility=hidden要导出的函数加上 attribute ((visibility(“default”)))举例:int RtpRtcpInit() attribute((visibility(“default”)));class原创 2021-01-20 16:01:19 · 1457 阅读 · 0 评论 -
vmware 桥接模式无法联网
vmware15 ubuntu18.04 无法联网试过手动配置和自动获取都没法联网,这种问题也挺烦人,怀疑是电脑多个网卡导致解决办法:1、网络适配器共享设置网络连接属性,共享设置2、vmware编辑 虚拟网络编辑器vmware->编辑->虚拟网络编辑桥接到,选择自己的物理网卡。感觉应该是这里的问题,多个网卡系统默认出错了...原创 2020-12-14 10:53:56 · 361 阅读 · 0 评论 -
GDB 命令行参数
http://www.programlife.net/gdb-manual.htmlGDB 命令行参数启动 GDB:l gdb executablel gdb -e executable -c core-filel gdb executable -pid process-id(使用命令 'ps -auxw' 可以查看进程的 pid)选项转载 2012-08-15 13:34:40 · 4592 阅读 · 0 评论 -
SCTP编程
http://blog.chinaunix.net/space.php?uid=8118579&do=blog&id=20341191. 简介SCTP是为了在IP网上传输信令而由IETF的信令传输工作组(SIGTRAN)提出的传输层协议(RFC2960,RFC4960)。 和TCP,UDP相比, UDP是无连接的传输协议,它能满足低延迟的要求,但是它却无法保证可靠传输。TCP能保证转载 2012-08-21 09:49:52 · 1525 阅读 · 0 评论 -
Posix多线程-信号灯
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505828.html一,信号灯 Posix有名信号灯 函数sem_open创建一个新的有名信号灯或打开一个已存在的有名信号灯。有名信号灯总是既可用于线程间的同步,又可以用于进程间的同步。 1.posix有名信号灯函数1.名称::转载 2012-08-31 13:26:02 · 525 阅读 · 0 评论 -
Posix多线程-共享内存
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505841.html一、什么是共享内存区共享内存区是最快的可用IPC形式。它允许多个不相关的进程去访问同一部分逻辑内存。如果需要在两个运行中的进程之间传输数据,共享内存将是一种效率极高的解决方案。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传输就不再涉及内核。这转载 2012-08-31 13:29:09 · 1832 阅读 · 0 评论 -
Unix IPC进程间通信
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505722.html主要手段 1.管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信; 有名管道克服了管道没有名字的限制,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 2.信号(Signal):信号是比较复杂的通信转载 2012-08-31 13:17:37 · 4045 阅读 · 1 评论 -
Posix多线程-基础
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505819.html线程的结构 线程包含了表示进程内执行环境必需的信息,其中包括进程中标识线程的线程ID,一组寄存器值、栈、调度优先级和策略、信号屏蔽子,errno变量以及线程私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局内存和转载 2012-08-31 13:24:13 · 573 阅读 · 0 评论 -
Posix多线程-条件变量
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505837.html一、什么是条件变量 与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。 条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进转载 2012-08-31 13:28:17 · 566 阅读 · 0 评论 -
Unix环境编程-文件和目录
一、打开/关闭文件1名称:open目标:打开一个文件。头文件:#include #include #include 函数原形:int open(const char * pathname,int flags);int open(const char * p转载 2012-08-31 13:30:25 · 1219 阅读 · 0 评论 -
Posix多线程-互斥量
http://www.cnblogs.com/dubingsky/archive/2009/06/18/1505834.html一、什么是互斥锁 另一种在多线程程序中同步访问手段是使用互斥量。程序员给某个对象加上一把“锁”,每次只允许一个线程去访问它。如果想对代码关键部分的访问进行控制,你必须在进入这段代码之前锁定一把互斥量,在完成操作之后再打开它。转载 2012-08-31 13:27:13 · 495 阅读 · 0 评论 -
fork如何做到返回两次
http://blog.csdn.net/barfoo/article/details/1626938 一直很疑惑fork方法如何做到返回两次,今天认真看了看书,其实大家都说的“返回两次”在表达上是不清楚的。fork并没有真正的返回两次,它依然返回了一次,只是OS对fork进行的操作使得我们看起来它返回了两次而已。搜到一篇文章,说的还比较清楚。收藏下来吧。要搞清转载 2012-09-03 18:18:16 · 396 阅读 · 0 评论 -
译: Code::Blocks手册
译: Code::Blocks手册 使用篇 原手册下载:http://www.codeblocks.org/docs/manual_en.pdf 译者:JGood(http://blog.csdn.net/Jgood) 译者言:工欲善其事,必先利其器。一个好的工具能事半功倍。写程序时,特别是写C++程序,大部分人脑子里想到的第一个工具就是VisualStud转载 2012-08-28 21:49:28 · 1537 阅读 · 0 评论 -
服务器技术系列综述(一)
一 系统框架概述网络上的服务器,无论是嵌入式的网络设备,还是pc上服务器,整体结构以及主要思想都大体相同:根据业务模型确定主要数据结构,根据数据结构确定线程模型,在各个业务线程内根据围绕主要数据结构进行的操作确定状态机模型,低层使用网络层收发数据完成和其它网元的通讯。线程交互模型简单描述如下图:其中网络层包括收发模块,收数据模块是单独线程,而发数据模块则被业务线程调用在其本身线程中发送转载 2012-09-13 17:14:01 · 646 阅读 · 0 评论 -
服务器技术系列综述(二)
《技术系列综述(一)》介绍了网络层部分。网络层基本都是多路复用函数作为运行的主线程,使用管道或者sockpair与之通讯,这是网络层线程的固有特点,和业务线程的呈现方式完全不同。经过网络层以后,数据开始流向业务线程,现在就顺着数据流向往上看。一 业务线程《技术系列之 线程(一)》有对线程的一个入门描述,里面的消息队列只是示例,真实可用的可以看《技术系列之 线程(二)》。(1)业务线转载 2012-09-13 17:21:02 · 522 阅读 · 0 评论 -
服务器技术系列综述(三)
网络请求包经过网络层(技术系列综述(一))被解析翻译成程序自定义的消息,之后被投递到业务线程的线程消息队列(技术系列综述(二))中。业务线程在队列的另一端取出消息,开始处理,这是本章要介绍的部分。业务处理部分:主要有会话类(Session)和会话管理类(SessionManager,常见该类为单例)。先给出类图,后文详细介绍:一 SessionManager的职责:(1)继承IMsgT转载 2012-09-13 17:34:53 · 855 阅读 · 0 评论 -
高性能服务器本质论
作者:CppExplore http://www.cppblog.com/CppExplore/和http://blog.csdn.net/cppexplore同步发布一 服务器分类从软件性能角度,高性能服务器分:cpu密集型服务器/IO密集型服务器(1)CPU密集型:该类服务器没有对io的访问/没有同步点,性能瓶颈在于对cpu的充分利用。典型的如转发服务器/代理服务器/协议转换转载 2012-09-13 16:55:45 · 424 阅读 · 0 评论 -
高性能服务器本质论
作者:CppExplore 网址:http://www.cppblog.com/CppExplore/本章主要列举服务器程序的各种网络模型,示例程序以及性能对比后面再写。一、分类依据。服务器的网络模型分类主要依据以下几点(1)是否阻塞方式处理请求,是否多路复用,使用哪种多路复用函数(2)是否多线程,多线程间如何组织(3)是否多进程,多进程的切入点一般都是accept函数前二转载 2012-09-13 16:42:05 · 496 阅读 · 0 评论 -
Linux 信号signal处理函数
alarm(设置信号传送闹钟)相关函数 signal,sleep表头文件 #include定义函数 unsigned int alarm(unsigned int seconds);函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数seconds 为0,则之前设置的闹钟会被取消,并将剩下的时间返回。返转载 2012-10-10 10:01:08 · 970 阅读 · 0 评论 -
Linux 信号signal处理机制
信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法,信号全称为软中断信号,也有人称作软中断。从它的命名可以看出,它的实质和使用很象中断。所以,信号可以说是进程控制的一部分。 一、信号的基本概念 本节先介绍信号的一些基本概念,然后给出一转载 2012-10-10 10:01:50 · 764 阅读 · 0 评论 -
Linux下基于POSIX标准的共享内存操作示例
http://blog.csdn.net/laojing123/article/details/6109154 对于进程间通信,之前一直是用管道进行实现。比如父子进程间使用pipe,无血缘关系的进程可以使用fifo。从来没有想过使用共享内存,为什么呢?大家还记得这本书吧《Unix环境高级编程》,上面讲解了关于共享内存的操作,说实话,太麻烦了,真的不好用(有好多繁杂的接口,比如shmget,转载 2012-09-25 10:18:05 · 2541 阅读 · 0 评论 -
在linux中获取错误返回信息
#include // void perror(const char *msg);#include // char *strerror(int errnum);#include //errnoerrno 是错误代码,在 errno.h头文件中;perror是错误输出函数,输出格式为:msg:errno对应的错误信息(加上一个换行符);strerror 是通过参转载 2012-09-24 17:29:35 · 6911 阅读 · 0 评论 -
nginx源码分析(1)——启动过程
http://blog.csdn.net/chosen0ne/article/details/77282941. 重要的数据结构 1. ngx_module_t nginx中所有模块的类型都是ngx_module_t类型的,定义了模块的一些属性。nginx是完全模块化的,所有的组件都是模块,从而实现了nginx的高度松耦合。同时,我们在进行nginx模块转载 2012-10-29 14:05:43 · 1147 阅读 · 0 评论 -
linux进程间通信
一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、资源共享:多个进程之间共享同样的资源。为了作转载 2012-10-19 14:41:52 · 1313 阅读 · 0 评论 -
linux 共享内存 总结
共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。采用共享内存通信的一个显而易见的好处是效率高,因为进程可以直接读写内存,而不需要任何数据的拷贝。因此,采用共享内存的转载 2012-12-17 16:59:19 · 15986 阅读 · 0 评论 -
Posix多线程编程学习笔记(一)
Posix多线程编程学习笔记(一)—线程基础(1)一.什么是线程 在一个程序里的多个执行路线就叫做线程。更准确的定义是:线程是“一个进程内部的一个控制序列”。 典型的unix进程可以看成只有一个控制线程:一个进程在同一时刻只做一件事情。有了多个控制线程以后,在程序设计时可以把进程设计成在同一时刻能够做不止一件事,每个线程处理各只独立的任务。 二.转载 2012-12-17 18:09:18 · 4476 阅读 · 2 评论 -
Linux makefile 教程 非常详细,且易懂
http://blog.csdn.net/liang13664759/article/details/1771246 最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。 于是google到了以下这篇文章。通俗易懂。然后把它贴出来,方便学习。 后记,看转载 2012-12-31 17:12:02 · 1257 阅读 · 0 评论 -
nginx源代码分析
Nginx可以开启多个进程,每个进程拥有最大上限128个子线程以及一定的可用连接数。如果你希望使用线程可以在配置文件中设置worker_threads这个参数,但这个参数在Nginx官方手册上没有。只有通过阅读源代码才看到。最大客户端连接数等于进程数与连接数的乘积,连接是在主进程中初始化的,一开始所有连接处于空闲状态。每一个客户端请求进来以后会通过事件处理机制,在Linux是Epoll,在转载 2013-01-11 09:47:13 · 615 阅读 · 0 评论 -
linux epoll模型
转载自:http://www.cppblog.com/Khan/archive/2008/04/02/46013.htmlhttp://www.xmailserver.org/linux-patches/nio-improve.html Linux I/O多路复用技术在比较多的TCP网络服务器中有使用,即比较多的用到select函数。Linux 2.6内核中有提高网络I/O性转载 2013-01-14 15:48:46 · 620 阅读 · 0 评论 -
Linux操作系统多线程信号总结
http://www.ccw.com.cn/college/soft/b2c/os/htm2012/20120101_957770.shtmllinux 多线程信号编程总结linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。转载 2013-02-17 10:36:38 · 366 阅读 · 0 评论 -
深刻理解Linux进程间通信(IPC)
http://www.cnblogs.com/andtt/articles/2136279.html0. 序1. 管道1.1. 管道概述及相关API应用1.2. 有名管道概述及相关API应用1.3. 小结1.4. 参考资料2. 信号(上)2.1. 信号及信号来源2.2. 信号的种类2.3. 进程对信号的响应转载 2013-02-18 10:00:40 · 948 阅读 · 0 评论 -
Unix网络API
Unix网络API网络API索引:1.字节序函数2.字节操作函数3.地址转换函数4.readn、writen和readline5.测试描述符类型6.socket函数7.connect函数8.bind函数9.listen函数10.accept函数11.close函数12.getsockname和getpeername13.s转载 2013-02-18 17:33:27 · 544 阅读 · 0 评论