- 博客(7)
- 收藏
- 关注
原创 Scalasca性能测试工具集教程,含scorep,cube
Scalasca是一个工具集,包括插桩工具Score-P, 后处理工具Cube等.scorep插桩, skin过时了, 官方建议直接使用scorep命令进行插桩.需在编译器前加scorep命令编译源码,如要变成,实际操作比较灵活, 如可改变Makefile文件中CXX等环境变量为,也可以直接使用Score-p封装的command,如scorep-g++进行编译,或者使用等等.scorep默认自动插桩每一个函数的入口和出口,包括MPI函数.
2024-11-07 10:21:22
751
2
原创 C++智能指针详解
智能指针如std::shared_ptr通过引用计数自动管理内存,避免内存泄漏。make_shared高效创建,只需一次内存分配。智能指针简化线程安全操作,内部计数更新通常原子,减少同步需求。
2024-04-29 20:08:25
257
原创 并发量增加时常见的三个问题
并发量增加时,Linux系统可能遇到三个问题:文件描述符限制(Too many open files)、端口分配问题(Cannot assign requested address)和连接跟踪限制(客户端连接数量上不去)。解决这些问题的方法包括临时或永久提高文件描述符限制,调整本地端口范围,以及增加系统跟踪的连接数上限。
2024-04-29 00:21:21
258
原创 C10K问题及常见的解决方案
本文探讨了解决C10K问题的多种网络编程模型,包括阻塞I/O配合多进程或多线程、线程池、非阻塞I/O结合事件通知以及Reactor模式。重点强调了非阻塞I/O与事件驱动模型的重要性,以及如何通过这些技术高效处理大量并发连接。同时,讨论了随着并发量增加,系统资源如文件句柄和内存的瓶颈问题,以及如何通过优化和模型选择来缓解这些瓶颈。
2024-04-29 00:18:44
1044
原创 网络小工具
本文介绍了Linux系统中的一些常用网络工具及其用法:netstat: 查看网络连接和端口使用情况,如netstat -lntp查看TCP监听端口。lsof: 查找使用特定IP或端口的进程,如lsof -i :8080。nmap: 端口扫描工具,如nmap ip -p port。strace: 追踪进程的系统调用。telnet: 远程登录客户端,如telnet ip port测试服务。nc: 模拟服务器和客户端,进行端口连接和数据传输。tcpdump: 强大的抓包工具,如tcpdump -i
2024-04-29 00:12:10
978
原创 五种io模型
五种I/O模型包括阻塞I/O、非阻塞I/O、I/O多路复用、信号驱动I/O和异步I/O。阻塞I/O在数据未准备好时会等待,而非阻塞I/O会立即返回错误。I/O多路复用如select、poll和epoll允许同时监控多个I/O操作,提高并发效率。信号驱动I/O和异步I/O则在数据准备好时通过信号或回调通知应用。这些模型在用户态和内核态之间交互,影响着系统调用的效率和资源使用。
2024-04-29 00:10:35
237
1
原创 socket编程模型
这篇文章是关于socket网络编程的全面介绍,涵盖了TCP/IP协议中的基本概念,如IP地址、端口号、大端小端以及网络字节序。文章详细讲解了TCP服务器和客户端的创建、绑定、监听、三次握手连接过程,以及数据的读写和连接的关闭。此外,还探讨了多线程和多进程模型,以及IO多路复用技术,包括select、poll和epoll,这些技术允许服务器端单线程处理多个客户端连接。最后,文章通过伪代码展示了如何利用这些技术构建高效的网络服务器。
2024-04-29 00:08:24
1147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人