随笔分类 -  programming c linux

该文被密码保护。
posted @ 2022-01-24 16:14 codestacklinuxer 阅读(105) 评论(0) 推荐(0) 编辑
摘要:在linux服务器上创建的用户,登录后发现此用户的CRT的终端提示符显示的是-bash-4.2# 而不是user@主机名 显示方式;原因是在用useradd添加普通用户时,有时会丢失家目录下的环境变量文件,丢失文件如下:1、.bash_profile2、.bashrc以上这些文件是每个用户都必备的文 阅读全文
posted @ 2021-11-24 14:36 codestacklinuxer 阅读(127) 评论(0) 推荐(0) 编辑
摘要:rfcx下载地址 :https://www.ietf.org/rfc/ RFC793 : Transmission Control Protocol 该 RFC 正是定义了 TCP 协议的那份 RFC。在该 RFC 中,可以查到 TCP 的很多 细节 RFC1323 : TCP Extensions 阅读全文
posted @ 2021-11-20 17:32 codestacklinuxer 阅读(218) 评论(0) 推荐(0) 编辑
摘要:测试盒子设备ipv6的时候出现cps性能上不去, 抓包的时候发现三次握手出现了重传, 查看ifconfig netstat ethtool 等信息时 没有发现丢包! dmesg的时候出现”“nf_conntrack: table full, dropping packet” 如下log, 说明是nf 阅读全文
posted @ 2021-11-11 20:40 codestacklinuxer 阅读(190) 评论(0) 推荐(0) 编辑
摘要:Cpu一栏发现ni占用过高,ni又是什么? >ni: 用户进程空间内改变过优先级的进程占用CPU百分比 所以要调整进程优先级!!! CPU管理进程的是按照时间片的方式来划分CPU的资源。CPU可以把1s划分成若干份,轮询时间片。通过设置进程的优先级,让某些重要的进程优先并且长时间获取CPU资源。手段 阅读全文
posted @ 2021-11-01 18:01 codestacklinuxer 阅读(178) 评论(0) 推荐(0) 编辑
摘要:在处理问题时,怀疑某个动态的api 调用有问题, 但是代码太多不想找,于是就直接hook 此api,打印出参数值判断此处问题! 具体业务就不展示,在此举一个例子记录一下当前使用的方法 #define _GNU_SOURCE #include <dlfcn.h> #include <stdio.h> 阅读全文
posted @ 2021-10-29 16:06 codestacklinuxer 阅读(398) 评论(0) 推荐(0) 编辑
摘要:关于lock-free的问题,经典模型就是mpmc 无锁队列:具体可以参考之前的文章: lock-free队列 lock-free-progress-guarantees 无锁数据结构库liblfds dpdk lock-free-mpmc :https://dpdk-docs.readthedoc 阅读全文
posted @ 2021-09-17 11:44 codestacklinuxer 阅读(530) 评论(0) 推荐(0) 编辑
摘要:目前又有需求做性能优化,都已经将mutex_lock 修改为cas atomic MPMC、Thread_local 等lock_free/原子/局部变量等相关操作,目前就缺用户态RCU了!so看下 怎么使用以及 性能怎样 What is RCU, Fundamentally? Is Paralle 阅读全文
posted @ 2021-09-14 20:58 codestacklinuxer 阅读(473) 评论(0) 推荐(0) 编辑
摘要:今天被拉过来加班处理性能问题: 优化后对比的结果为:同样在5wcps的情况下,以前的cpu 使用率为90%, 现在cpu使用率为30%! 从cpu 角度看提高了很多, 同时perf top 结果看, close系统调用所占cpu也降低了不少 由于之前采用多线程架构存在如下问题: 1、批量的close 阅读全文
posted @ 2021-09-11 15:12 codestacklinuxer 阅读(222) 评论(0) 推荐(0) 编辑
摘要:5.4领导者/追随者(Leader/Follower) 1.问题 多线程是实现并发处理多事件的应用程序的一种常用技术。然而,很难实现高性能的多线程服务器应用程序。这些应用程序通常处理大量同时到达的多类型事件。为了有效地处理这种问题,有三个强制条件必须解决: 1)服务请求可以来自为每个已连接的客户机分 阅读全文
posted @ 2021-09-03 16:43 codestacklinuxer 阅读(92) 评论(0) 推荐(0) 编辑
摘要:5.5线程特定的存储器(Thread-Specific Storage) 1.问题 为了避免竞争条件、资源耗尽和死锁多线程应用程序需要复杂的并发控制协议,从而难以编程。由于存在加锁开销,所以多线程应用程序的性能往往比不上单线程应用程序,事实上它们的性能可能更糟,特别是在多处理平台上。在并发程序中有两 阅读全文
posted @ 2021-09-03 16:40 codestacklinuxer 阅读(78) 评论(0) 推荐(0) 编辑
摘要:5.3半同步/半异步 1.问题 并发系统通常既包含异步处理服务,又包含同步处理服务。系统程序员有充分的理由使用异步特性改善性能。异步程序一般更高效,因为可以直接将服务映射为异步机制,如硬件中断处理程序或者软件信号处理程序。 相反,应用程序员也有充分的理由使用同步处理简化他们的编程强度。通常同步程序更 阅读全文
posted @ 2021-09-03 16:39 codestacklinuxer 阅读(64) 评论(0) 推荐(0) 编辑
摘要:5.2监视器对象 1.问题 许多应用程序包含其方法被多个客户机线程并发调用的对象。这些方法通常修改其对象的状态。因此,为了使这些并发应用程序能正确地执行,有必要对对象的访问进行同步和调度。对于这个问题,必须考虑四个强制条件: 1)为了事务分离并避免对象状态不受控制地修改,面向对象编程人员习惯于只通过 阅读全文
posted @ 2021-09-03 16:38 codestacklinuxer 阅读(31) 评论(0) 推荐(0) 编辑
摘要:并发模式 为在多线程或进程间共享资源而设计的2种模式: ·主动对象设计模式将方法执行和方法调用分离开来。目的是加强并发和简化对驻留在自身控制线程中的对象的同步访问。 ·监视器对象设计模式同步化并发方法的执行,以确保同一时刻在对象内部只有一个方法运行。它也允许对象的方法协作调度方法的执行顺序。 下面2 阅读全文
posted @ 2021-09-03 16:37 codestacklinuxer 阅读(69) 评论(0) 推荐(0) 编辑
摘要:【原创】Linux RCU原理剖析(二)-渐入佳境 背景 Read the fucking source code! --By 鲁迅 A picture is worth a thousand words. --By 高尔基 说明: Kernel版本:4.14 ARM64处理器,Contex-A53 阅读全文
posted @ 2021-09-01 23:33 codestacklinuxer 阅读(467) 评论(0) 推荐(0) 编辑
摘要:涉及到 项目就只写基本了 有些东西无法详细描述就一笔概括了 并发模式: 反应器 主动器 异步完成标记 接收器-连接器 反应器 Reactor: 事件驱动应用可以多路分解 分配; 可以逆转控制流; 和好莱坞原则一样:“不要打电话给我们,我们会给你们打电话”; 缺点:不能同时支持大量客户和耗时长的客户请 阅读全文
posted @ 2021-08-25 17:50 codestacklinuxer 阅读(59) 评论(0) 推荐(0) 编辑
摘要:目前有很多网络库,其中libevent是基于Reactor实现的,而boost.asio是基于Proactor实现的。Reactor和Proactor模式的主要区别就是真正的操作(如读/写)是由谁来完成的,Reactor中需要应用程序自己读取或者写入数据,而在Proactor模式中,应用程序不需要进 阅读全文
posted @ 2021-08-22 18:36 codestacklinuxer 阅读(42) 评论(0) 推荐(0) 编辑
摘要:web服务器卡死,登陆到后台查看问题; ps aux执行的时候发现卡死, 重新ssh 登陆 strace ps 发现如下结果: 使用gdb 调试也是卡死! 使用top -b 查看所有的进程,发现 之前的ps 的进程为D状态, 同时web服务器 部分线程进程为D状态; dmesg 查看结果发现: [2 阅读全文
posted @ 2021-08-18 11:08 codestacklinuxer 阅读(142) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示