随笔分类 -  Linux

摘要:描述字的传递,就是将一个进程中的描述字传递到另一个进程中,使得该描述字依然有效。 在多进程网络的CS模式下,服务器fork产生的子进程在fork调用返回后,子进程共享父进程的所有打开的描述字。即使在子进程中调用exec函数,所有描述字通常还是保持打开的状态,也就是描述子是跨exec函数的。这也是为什 阅读全文
posted @ 2022-04-13 00:37 dzqabc 阅读(130) 评论(0) 推荐(0) 编辑
摘要:在Linux下面,查看一个进程的内存使用我们可以下面的命令来实现,只需把其中的[pid]换成进程实际的pid。 cat /proc/[pid]/status 为了方便,我们把查找pid和看内存整合成一条命令,后面这将是我们唯一的测试工具。 cat /proc/`ps -ef|grep hello | 阅读全文
posted @ 2021-12-20 13:44 dzqabc 阅读(1934) 评论(0) 推荐(0) 编辑
摘要:参考:https://stackoverflow.com/questions/13403824/empty-core-dump-file-after-segmentation-fault 1.受限要开启coredump的大小限制。ulimit -c unlimited 2.core文件不能在挂在分区 阅读全文
posted @ 2021-11-23 20:48 dzqabc 阅读(1203) 评论(0) 推荐(0) 编辑
摘要:shm_open() allows multiple un-related processes to access the same shared memory - since it can be accessed by a well know name.shmget() requires some 阅读全文
posted @ 2021-11-18 17:00 dzqabc 阅读(1488) 评论(0) 推荐(0) 编辑
摘要:本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景。为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入: 引文## 在写一个服务端程序时(Web Server或者文件服务器),文件下载是一个基本功能。这时候服务端的任务是:将服务端主机磁盘中的文件不做修改地从已连接的socket发 阅读全文
posted @ 2021-06-15 19:41 dzqabc 阅读(90) 评论(0) 推荐(0) 编辑
摘要:用户态:Ring3 运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS )中I/O 许可位图(I/O Permission Bitmap )中规定的可访问端口进行直接访问 。 内核态:Ring0在处理器的存 阅读全文
posted @ 2021-06-15 18:59 dzqabc 阅读(271) 评论(0) 推荐(0) 编辑
摘要:0.多重继承情况下,对象创建时会生成多个续表指针,用于转换成不同基类时的操作。 为了实现不同基类都能通过偏移找到对应虚表,这种对象在转换成不同基类型时也就进行指针的偏移。具体内存布局可以参考:多重继承和void*的糗事 1.在内存释放时delete可以对多重继承对象的不同类型指针进行释放。 那del 阅读全文
posted @ 2021-06-15 18:43 dzqabc 阅读(156) 评论(0) 推荐(0) 编辑
摘要:原文:https://www.ibm.com/developerworks/cn/linux/l-memory/ 为什么必须管理内存 内存管理是计算机编程最为基本的领域之一。在很多脚本语言中,您不必担心内存是如何管理的,这并不能使得内存管理的重要性有一点点降低。对实际编程来说,理解您的内存管理器的能 阅读全文
posted @ 2021-06-12 17:49 dzqabc 阅读(375) 评论(0) 推荐(1) 编辑
摘要:一、找到dmaolloc的内存内存释放的机制总结,也很容易反推出其内存分配的机制,挺好的转一下(转自:http://blog.chinaunix.net/uid-796091-id-2035309.html) 1. 不考虑TRIM_FASTBINS的影响,对于小于64个字节(FASTBIN_THRE 阅读全文
posted @ 2021-06-10 20:19 dzqabc 阅读(515) 评论(0) 推荐(0) 编辑
摘要:在实验过程中,有些同学总对共享内存的一些概念弄不清,特别总结了下: 所谓共享内存就是多个进程间共同使用同一段物理内存空间,它是通过将同一段物理内存映射到不同进程的虚空间中来实现的。由于映射到不同进程的虚空间中,不同进程可以直接使用,不需要进行内存的复制,所以共享内存的效率很高。 共享内存分2种: 1 阅读全文
posted @ 2021-06-10 20:11 dzqabc 阅读(546) 评论(0) 推荐(0) 编辑
摘要:Jemalloc 不仅实现了一种通用的malloc, 还能利用它来做内存分析和监控/调优等. 这里介绍如何利用jemalloc来检测内存泄漏问题. 并且利用LD_PRELOAD环境变量, 可以做到不需要源代码, 将jemalloc库嵌入到可执行程序中, 从而用jemalloc去malloc内存, 并 阅读全文
posted @ 2021-06-10 01:16 dzqabc 阅读(1401) 评论(0) 推荐(0) 编辑
摘要:1.awk system echo ${VAR1}|awk '{run=$0;system(run)}' 2.eval eval 是在当前进程执行,类似于函数,在当前进程中新开一层栈执行,执行完弹栈恢复。 3.exec exec也是在当前进程执行,但它不会恢复,也就是会修改进程当前栈的环境变量。 阅读全文
posted @ 2021-06-03 00:18 dzqabc 阅读(1617) 评论(0) 推荐(0) 编辑
摘要:sed 正则表达式是缩减版的,不支持\d, 需要用[0-9]替代 阅读全文
posted @ 2021-06-02 22:57 dzqabc 阅读(43) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。
posted @ 2020-02-07 12:29 dzqabc 阅读(2) 评论(1) 推荐(0) 编辑
摘要:期初现象:malloc一块内存,读写操作时发生segmentation falt。一般来讲malloc倘若失败应该抛出异常,所以malloc返回一个指针后,这个指针应该都是可用的,况且是进行读操作。 所以遇到这个问题时感觉很奇怪。 继续现象:经过地址打印确认该地址是前面操作过的一个地址。说明地址不在 阅读全文
posted @ 2019-11-27 00:39 dzqabc 阅读(1234) 评论(0) 推荐(0) 编辑
摘要:FUSE--用户空间文件系统(Filesystem in Userspace),具体可以度娘,反正是简化了自定义文件系统的复杂度,可以更方便地利用自定义文件系统做一些事情。 一、使用 Python 编写一个 FUSE 文件系统 https://www.oschina.net/translate/py 阅读全文
posted @ 2019-11-12 00:17 dzqabc 阅读(1499) 评论(0) 推荐(0) 编辑
摘要:modinfo overlay--查看overlay版本 通过linux网站--https://elixir.bootlin.com/linux/v4.4.196/source/fs/overlayfs/Kconfig--确认4.4版本的内核中不支持redirect_dir 需要通过linux升级内 阅读全文
posted @ 2019-10-31 23:17 dzqabc 阅读(593) 评论(0) 推荐(0) 编辑
摘要:利用ip rule实现基于源地址区分路由表,实现一个主机多IP网段同时通。(外部的一个主机无论访问哪个网段都可以访问通)实际应用:创建路由表table200ip route add 192.168.1.0/24 dev eth1 src 192.168.1.99 table 200ip route 阅读全文
posted @ 2019-10-31 00:05 dzqabc 阅读(2325) 评论(0) 推荐(0) 编辑
摘要:sshfs+overlayfs实现一个共享只读资源被多个主机挂载成可写目录1.sshfs -o ssh_command='sshpass -p '"${passwd}"' ssh' ${user}@${server_ip}:${server_path} "${caseshare_mnt}";2.sh 阅读全文
posted @ 2019-09-25 23:51 dzqabc 阅读(524) 评论(0) 推荐(0) 编辑
摘要:ubuntu iptables重启生效:save roles to a file:iptables-save >/etc/iptables.rolesedit /etc/network/interfaces:vim /etc/network/interfacesadd:pre-up iptables 阅读全文
posted @ 2019-08-29 00:59 dzqabc 阅读(5939) 评论(0) 推荐(0) 编辑