
linux
文章平均质量分 83
旅之灵夫
【授人以渔】
【要站在巨人的肩上】
【没有做不到,只有想不到】
【人的脑子是一个有限的空间,所以必须选择性的吸收知识,而不能把什么东西都放进去。--柯南·道尔】
展开
-
【1s 创建 100G 文件,最快的方法是?】【转载】
vim、touch等可以创建文件,但是如果需要一个 100G 或者 1T 的大文件,这些命令就显得力不从心,此时就需要能快速创建大文件命令,接下来将介绍这些命令的常见用法、命令之间的差异、以及使用时如何选择。原创 2024-03-02 23:21:47 · 1134 阅读 · 0 评论 -
【图解:Linux 内存背后的那些神秘往事】【转载】
CPU、IO、磁盘、内存可以说是影响计算机性能关键因素,今天就聊探究下内存的那些事儿。内存为进程的运行提供物理空间,同时作为快速CPU和慢速磁盘之间的适配器,可以说是个非常重要的角色。通过本文你将了解到以下内容:本文均围绕Linux操作系统展开,话不多说,我们开始吧!有内存分配和回收的地方就可能有内存分配器。以glibc为例,我们先捋一下:在用户态层面,进程使用库函数malloc分配的是虚拟内存,并且系统是延迟分配物理内存的,由缺页中断来完成分配。原创 2024-02-27 21:56:43 · 985 阅读 · 0 评论 -
【深入理解 Linux 内存子系统】【转载】
std::unordered_map、std::unordered_set用 hash 实现的无序的容器,插入、删除和查找的时间复杂度都是 O(1),在不关注容器内元素顺序的场合,使用 unordered 的容器能获得更高的性能。把所有的空闲页分组为 11 个块链表,每个块链表分别包含大小为 1,2,4,8,16,32,64,128,256,512 和 1024 个连续页框的页块。a) 如果当前连续内存块足够 realloc 的话,只是将 p 所指向的空间扩大,并返回 p 的指针地址。原创 2024-02-27 21:47:11 · 1152 阅读 · 0 评论 -
【Linux fd 系列 — socket fd 是什么?】【转载】
总结vfs 下有一个。原创 2024-02-25 16:58:37 · 2321 阅读 · 0 评论 -
【Linux 系统是如何用虚拟内存来欺骗应用程序的?】【转载】
在很久以前,各种单片机、嵌入式 MCU 上,编写应用程序的时候,经常会面对内存很紧张的情况,这是就要很好的来优化自己的程序,利用有限的硬件资源来实现一些功能。在一个 32 位的系统中,应用程序可以访问的最大内存空间是 2 的 32 次方,也就是 4 GB,即使此时实际的物理内存并没有这么大。在某个时间,当有第一批的 3 个旅行团入住的时候,老板觉得房间足够,于是把这 300 人都安排在旅馆的房间中。每个应用程序只能看到自己的虚拟内存空间,这是一块连续的空间,从而保证了不同应用程序之间的隔离,达到安全目的。原创 2024-02-24 22:38:30 · 915 阅读 · 0 评论 -
【图解 Linux 内存性能优化核心思想】【转载】
今天分享一篇的文章,文章用了大量精美的图深入浅出地分析了Linux内核slab性能优化的是Linux内核小对象内存分配最重要的算法,文章分析了内存分配的各种性能问题(在不同的场景下面),并给出了这些问题的优化方案,这个对我们实现,或以后遇到内存性能问题的时候,有一定的启发,值得我们学习。来自一种很简单的思想,即事先准备好一些会频繁分配,释放的数据结构。然而标准的slab实现太复杂且维护开销巨大,因此便分化出了更加小巧的slub,因此本文讨论的就是slub,后面所有提到slab的地方,指的都是slub。原创 2024-02-24 20:57:47 · 966 阅读 · 0 评论 -
【深入理解 Linux 调度(GPU)虚拟化】【转载】
GPU —————Graphics Processing Unit,显卡CUDA ————Compute Unified Device Architecture,英伟达 2006 年推出的计算 API-x 表示 x86 CPU,-d 表示 Device。SVM —————AMD 的等价于 Intel VT-x 的技术。EPT —————Extended Page Table,Intel 的 CPU 虚拟化中的页表虚拟化硬件支持。NPT —————原创 2024-02-20 22:36:39 · 2632 阅读 · 0 评论 -
【Linux 内核源码如何学习?】【转载】
在计算机科学中是一个用来管理软件发出的数据I/O(输入与输出)要求的计算机程序,将这些要求转译为数据处理的指令并交由中央处理器(CPU)及计算机中其他电子组件进行处理,是现代操作系统中最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并由内核决定一个程序在什么时候对某部分硬件操作多长时间。linux内核代码涉及知识点包括汇编指令、c语言、硬件组成原理、操作系统、数据结构和算法、各种外设总线、驱动、网络协议栈。直接对硬件操作是非常复杂的。原创 2024-02-17 10:20:29 · 973 阅读 · 0 评论 -
【Linux 性能优化全景指南】【转载】
和角度:直接影响了产品终端的用户体验角度:资源使用率、饱和度等就是系统资源已经到达瓶颈,但请求的处理还不够快,无法支撑更多的请求。性能分析实际上就是找出应用或系统的瓶颈,设法去避免或缓解它们。选择指标评估应用程序和系统性能为应用程序和系统设置性能目标进行性能基准测试性能分析定位瓶颈性能监控和告警对于不同的性能问题要选取不同的性能分析工具。下面是常用的Linux Performance Tools以及对应分析的性能问题类型。原创 2024-02-17 10:17:15 · 1086 阅读 · 0 评论 -
【Linux 性能分析工具汇总】【转载】
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。原创 2024-02-17 10:14:10 · 955 阅读 · 0 评论 -
【600 条最强 Linux 命令总结】【转载】
升级模式会安装用户所指定的更新版本,并删除已安装在系统中的相同软件包,升级软件包命令如下:rpm –Uvh wu-ftpd-2.6.2-8.i386.rpm –Uvh:升级参数。使用 RPM 命令的安装模式可以将软件包内所有的组件放到系统中的正确路径,安装软件包的命令是:rpm –ivh wu-ftpd-2.6.2-8.i386.rpm。vim 启动后,默认进入命令模式,任何模式都可以通过 esc 键回到命令模式(可以多按几次),命令模式下可以键入不同的命令完成选择、复制、粘贴、撤销等操作。原创 2024-02-17 10:12:52 · 950 阅读 · 0 评论 -
【2 万字系统总结,带你实现 Linux 命令自由?】【转载】
Linux系统内核指的是由负责维护,提供硬件抽象层、硬盘及文件系统控制及多任务功能的系统核心程序。Linux发行套件系统是我们常说的Linux操作系统,也即是由Linux内核与各种常用软件的集合产品。总结:真正的Linux指的是系统内核,而我们常说的Linux指的是“发行版完整的包含一些基础软件的操作系统”。相信通过本文的学习,你应该会对Linux有一个更加全面的认识。都看到这里了,就点个👍 👍 👍 吧。原创 2024-02-16 22:17:39 · 833 阅读 · 0 评论 -
【一大波你可能不知道的 Linux 网络工具】【转载】
如果要在你的系统上监控网络,那么使用命令行工具是非常实用的,并且对于 Linux 用户来说,有着许许多多现成的工具可以使用,如:nethogs, ntopng, nload, iftop, iptraf, bmon, slurm, tcptrack, cbm, netwatch, collectl, trafshow, cacti, etherape, ipband, jnettop, netspeed 以及 speedometer。原创 2024-02-16 22:11:47 · 828 阅读 · 0 评论 -
【Linux下文本编辑神器:Vim 最全图解】【转载】
本文围绕Vim键位进行图解,最经典的版本如下所示。原创 2024-02-16 20:24:53 · 459 阅读 · 0 评论 -
【GitHub项目推荐--Linux 性能分析工具汇总】【转载】
出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。原创 2024-02-09 18:53:31 · 1037 阅读 · 0 评论 -
【SVN在Linux下的常用指令】
windows下的TortoiseSVN是资源管理器的一个插件,以覆盖图标表示文件状态,几乎所以命令都有图形界面支持,比较好用,这里就不多说。主要说说linux下svn的使用,因为linux下大部分的操作都是通过命令行来进行,所以必须得掌握linux下svn的常用指令。原创 2024-02-01 14:58:30 · 1213 阅读 · 0 评论 -
【C/C++区分linux和windows环境的宏】【转载】
请注意,这只是一种常见的方法,并且可能还有其他方法来区分不同操作系统的宏定义,具体取决于编译器和操作系统环境。你可以通过检查这些宏的定义情况来进行平台特定的编译代码。原创 2024-01-23 16:48:14 · 2140 阅读 · 0 评论 -
【linux下gdb单步调试】
GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说, GDB 主要帮忙你完成下面四个方面的功能:1 、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2 、可让被调试的程序在你所指定的调置的断点处停住。转载 2024-01-09 09:35:06 · 756 阅读 · 0 评论 -
【C 语言代码实现一个简单异步事件触发机制!】
QT 中有一种异步处理机制叫做信号和槽函数,通过将信号与槽函数进行绑定连接,后续若该信号触发,会自动调用对应的槽函数。这种机制很适合处理很繁琐的逻辑程序,例如我点击界面的 close 按钮,便触发 close 信号,自动调用 close 绑定的槽函数,关闭界面。这种使用流程简便快捷。这种处理机制可称作异步处理,C 语言中也有一些异步处理开源的库,例如 libevent、libev 等,前者功能丰富,技术框架较为成熟,在许多项目中都见到它身影。这些开源库成熟,但是也庞大,能不能搞一个简洁的异步事件库呢?原创 2024-01-03 16:56:25 · 715 阅读 · 0 评论 -
【Linux下如何生成coredump文件】
通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工作当前状态存储生成第一个文件,许多的程序出错的时候都会产生一个core文件,通过工具分析这个文件,我们可以定位到程序异常退出的时候对应的堆栈调用等信息,找出问题所在并进行及时解决。很显然,如果有多个程序产生core文件,或者同一个程序多次崩溃,就会重复覆盖同一个core文件,因此我们有必要对不同程序生成的core文件进行分别命名。下面会分析)会产生一个叫做core的文件。原创 2023-12-04 21:54:43 · 977 阅读 · 0 评论 -
【linux卸载已安装软件的命令】
除了上述命令,还可以使用软件包管理器的图形界面工具来卸载软件。例如,对于Debian和Ubuntu系统,可以使用Synaptic Package Manager;对于CentOS和Fedora系统,可以使用dnfdragora或yumex等工具。- 使用apt-get、yum、dnf、zypper、dpkg和rpm等命令可以轻松卸载软件。- 在Linux系统中,可以使用不同的命令来卸载已安装的软件,具体命令取决于所使用的发行版。在Linux系统中,我们可以使用不同的命令来卸载已安装的软件。原创 2023-11-11 15:12:56 · 6610 阅读 · 0 评论