摘要:
linux tc qdisc的使用案例 查看当前 tc 规则: tc qdisc show dev eth0 移除规则: tc qdisc del dev eth0 root 模拟网络丢包: tc qdisc add dev eth0 root netem loss 1% 令eth0网卡的上行带宽限
阅读全文
posted @ 2025-03-26 20:08
苏格拉底的落泪
阅读(293)
推荐(0)
摘要:
linux下jdk的安装 下载网址:🔗https://www.oracle.com/java/technologies/downloads/#java8-linux 1. 解压安装: tar -zxvf jdk-8u431-linux-x64.tar.gz -C /usr/java 2. 配置环境
阅读全文
posted @ 2025-03-22 13:03
苏格拉底的落泪
阅读(54)
推荐(0)
摘要:
如何把当前改动追加到某次指定 commit 上(非上次) 参考资料 1. 如何把当前改动追加到某次指定 commit 上(非上次)
阅读全文
posted @ 2024-12-24 14:15
苏格拉底的落泪
阅读(40)
推荐(0)
摘要:
命令sed选项-p用法 使用 sed 打印整个文件的内容,实际上就相当于输出文件的内容,但不修改文件: sed -n 'p' filename 你可以使用 sed 打印某一特定行。例如,打印文件的第 3 行: sed -n '3p' filename 打印第 1 到第 5 行: sed -n '1,
阅读全文
posted @ 2024-12-17 20:58
苏格拉底的落泪
阅读(120)
推荐(0)
摘要:
参考资料 Cephfs的MDS侧元数据池和mdcache存储数据结构分析
阅读全文
posted @ 2023-12-15 16:03
苏格拉底的落泪
阅读(67)
推荐(0)
摘要:
删除ceph文件系统和存储池 删除ceph文件系统和存储池: ceph fs rm cephfs --yes-i-really-mean-it 删除存储池 ceph osd pool delete cephfs_data2 cephfs_data2 --yes-i-really-really-mea
阅读全文
posted @ 2023-12-15 15:42
苏格拉底的落泪
阅读(711)
推荐(0)
摘要:
参考资料 1. Ceph 出现pg object unfound的处理经过
阅读全文
posted @ 2023-12-15 15:35
苏格拉底的落泪
阅读(197)
推荐(0)
摘要:
ceph故障处理:pg处于stale 运行创建命令, 提示, 运行会永久的丢失该 pg 的数据, 需要加上 --yes-i-really-mean-it: # ceph osd force-create-pg 3.1e --yes-i-really-mean-it pg 3.1e now creat
阅读全文
posted @ 2023-12-15 15:07
苏格拉底的落泪
阅读(264)
推荐(0)
摘要:
授权认证管理cephx [ceph: root@node /]# ceph auth get client.admin exported keyring for client.admin [client . ad min] key = AQCi6Dhajw7pIRAA/ECkwyipx2/raLWj
阅读全文
posted @ 2023-12-15 14:28
苏格拉底的落泪
阅读(91)
推荐(0)
摘要:
文件锁模块fcntl 1. 实例 #!/usr/bin/python #coding:utf8 import os import sys import time import fcntl #导入模块 class FLOCK(ojbect): def __init__(self,name): """
阅读全文
posted @ 2023-12-13 10:18
苏格拉底的落泪
阅读(635)
推荐(0)
摘要:
ceph集群在线数据迁移 最近收到一个需求,客户希望将运行了多年的ceph集群服务器全部更换掉,因为这些老服务器性能和容量都已经无法满足当前业务的需求,并希望在迁移到新服务器的过程中,业务不中断。在参考一些网上的方案后,选择了一个方案进行了测试,效果还不错,决定将测试过程记录下来,并且自己写了些自动
阅读全文
posted @ 2023-12-08 18:01
苏格拉底的落泪
阅读(667)
推荐(0)
摘要:
参考资料 1. python多环境管理(venv与virtualenv)
阅读全文
posted @ 2023-12-08 13:44
苏格拉底的落泪
阅读(36)
推荐(0)
摘要:
文件加锁 1. 例子 #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> void lock_set(int fd, int type) { struct flock lock; lock.l_w
阅读全文
posted @ 2023-12-07 16:09
苏格拉底的落泪
阅读(85)
推荐(0)
摘要:
静态函数与类方法 静态函数其实和类的方法没什么关系,它只是恰好定义在类的内部而已,所以这里我用函数(function) 来形容它。它可以没有参数: class Person: @staticmethod # 用 staticmethod 这个修饰器来表明函数是静态的 def sayHello():
阅读全文
posted @ 2023-12-07 10:41
苏格拉底的落泪
阅读(317)
推荐(0)
摘要:
intrusive_ptr shared_ptr最大的陷阱就是用同一个裸指针创建了多个shared_ptr,这会导致这些shared_ptr析构时,因为每个shared_ptr都有自己引用计数,导致这个裸指针多次销毁所以不能用一个裸指针来创建多个shared_ptr,但却可以来创建多个intrusi
阅读全文
posted @ 2023-11-28 17:55
苏格拉底的落泪
阅读(297)
推荐(0)
摘要:
粘着位sticky 粘滞位(Stickybit),又称粘着位,是Unix文件系统权限的一个旗标。最常见的用法是在目录上设置粘滞位,使得只有目录内文件的所有者或者root用户才可以删除或移动该文件。要删除一个文件,不一定要有这个文件的写权限,但一定要有这个文件的上级目录的写权限。也就是说,即使没有一个
阅读全文
posted @ 2023-11-16 10:20
苏格拉底的落泪
阅读(381)
推荐(0)
摘要:
参考资料 1attribute__((packed))详解 2GCC的__attribute__扩展特性
阅读全文
posted @ 2023-11-13 14:57
苏格拉底的落泪
阅读(48)
推荐(0)
摘要:
修改已提交的 commit 信息,包括作者、邮箱 1. 背景:不同电脑配置了不同的用户名、邮箱,例如:不小心用公司电脑提交了 commit 到个人的github 仓库,想改掉已经提交的 commit 的信息。 2. 修改用户名、邮箱 // 全局修改 git config --global user.
阅读全文
posted @ 2023-11-12 11:16
苏格拉底的落泪
阅读(3151)
推荐(0)
摘要:
vscode怎么打开settings.json文件 cmd + shift + p,输入setting: 在搜索框输入:settings.json,并选中: 参考资料 1. vscode怎么打开settings.json文件 2.
阅读全文
posted @ 2023-11-02 09:01
苏格拉底的落泪
阅读(611)
推荐(0)
摘要:
pycharm:远程连接服务器调试代码 参考资料 1. pycharm:远程连接服务器调试代码
阅读全文
posted @ 2023-11-01 19:31
苏格拉底的落泪
阅读(58)
推荐(0)
摘要:
恢复误删的本地或远程分支 参考资料 1. 恢复误删的本地或远程分支
阅读全文
posted @ 2023-10-23 11:02
苏格拉底的落泪
阅读(427)
推荐(0)
摘要:
mknod 1. 创建名为test的管道文件 mknod test p
阅读全文
posted @ 2023-10-20 16:38
苏格拉底的落泪
阅读(44)
推荐(0)
摘要:
打印函数局部变量的值 1.例子: #include <stdio.h> void fun_a(void) { int a = 0; printf("%d\n", a); } void fun_b(void) { int b = 1; fun_a(); printf("%d\n", b); } voi
阅读全文
posted @ 2023-10-16 22:54
苏格拉底的落泪
阅读(315)
推荐(0)
摘要:
在匿名空间设置断点 1. 例子 namespace Foo { void foo() { } } namespace { void bar() { } } 在gdb中,如果要对namespace Foo中的foo函数设置断点,可以使用如下命令: (gdb) b Foo::foo 如果要对匿名空间中的
阅读全文
posted @ 2023-10-16 22:46
苏格拉底的落泪
阅读(75)
推荐(0)
摘要:
参考资料 1. 使用backtrace获取堆栈信息 2. How to print a stack trace whenever a certain function is called
阅读全文
posted @ 2023-10-16 21:46
苏格拉底的落泪
阅读(101)
推荐(0)
摘要:
为fork调用设置catchpoint 1.例子: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid; pid = fork();
阅读全文
posted @ 2023-10-16 19:36
苏格拉底的落泪
阅读(61)
推荐(0)
摘要:
为exec调用设置catchpoint 1. 例子: #include <unistd.h> int main(void) { execl("/bin/ls", "ls", NULL); return 0; } 使用gdb调试程序时,可以用catch exec命令为exec系列系统调用设置catch
阅读全文
posted @ 2023-10-16 19:11
苏格拉底的落泪
阅读(103)
推荐(0)
摘要:
为vfork调用设置catchpoint 1.例子: #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <unistd.h> int main(void) { pid_t pid; pid = vfork()
阅读全文
posted @ 2023-10-16 19:06
苏格拉底的落泪
阅读(42)
推荐(0)
摘要:
同时调试父进程和子进程 1. 参考资料 1. gdb手册 2. 同时调试父进程和子进程
阅读全文
posted @ 2023-10-16 11:13
苏格拉底的落泪
阅读(41)
推荐(0)
摘要:
设置读写观察点 1.例子: #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(10); } }
阅读全文
posted @ 2023-10-16 10:16
苏格拉底的落泪
阅读(83)
推荐(0)
摘要:
设置读观察点 1. 例子 #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(10); } }
阅读全文
posted @ 2023-10-16 10:12
苏格拉底的落泪
阅读(54)
推荐(0)
摘要:
设置观察点只针对特定线程生效 1. 说明 #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(1
阅读全文
posted @ 2023-10-16 09:48
苏格拉底的落泪
阅读(79)
推荐(0)
摘要:
显示gdb版权相关信息 使用gdb时,如果想查看gdb版权相关信息,可以使用“show copying”命令: (gdb) show copying GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free
阅读全文
posted @ 2023-10-16 09:41
苏格拉底的落泪
阅读(42)
推荐(0)
摘要:
设置观察点 1. 例子 #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(10); } } i
阅读全文
posted @ 2023-10-16 09:27
苏格拉底的落泪
阅读(153)
推荐(0)
摘要:
输出信息多时不会暂停输出 有时当gdb输出信息较多时,gdb会暂停输出,并会打印“ Type <return> to continue, or q <return> to quit ”这样的提示信息,如下面所示: 81 process 2639102 0xff04af84 in __lwp_park
阅读全文
posted @ 2023-10-16 09:20
苏格拉底的落泪
阅读(99)
推荐(0)
摘要:
退出时不显示提示信息 gdb在退出时会提示: A debugging session is active. Inferior 1 [process 29686 ] will be killed. Quit anyway? (y or n) n 如果不想显示这个信息,则可以在gdb中使用如下命令把提示
阅读全文
posted @ 2023-10-16 09:18
苏格拉底的落泪
阅读(154)
推荐(0)
摘要:
启动时不显示提示信息 $ gdb GNU gdb (GDB) 7.7.50.20140228-cvs Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http:
阅读全文
posted @ 2023-10-16 09:15
苏格拉底的落泪
阅读(80)
推荐(0)
摘要:
搭建foundationdb集群 对stor01、stor02、stor03设置如下配置文件: 1. fdb.cluster配置文件 foundationdb:fdb@192.168.0.20:4500,192.168.0.21:4500,192.168.0.22:4500 foundationdb
阅读全文
posted @ 2023-10-16 09:13
苏格拉底的落泪
阅读(499)
推荐(0)
摘要:
只允许一个线程运行 使用gdb调试多线程程序时,默认的调试模式为:一个线程暂停运行,其它线程也随即暂停;一个线程启动运行,其它线程也随即启动。要知道,这种调试机制确实能帮我们更好地监控各个线程的“一举一动”,但并非适用于所有场景。一些场景中,我们可能只想让某一特定线程运行,其它线程仍维持暂停状态。要
阅读全文
posted @ 2023-10-15 20:49
苏格拉底的落泪
阅读(1469)
推荐(0)
摘要:
调试已经运行的进程 1.例子: #include <stdio.h> #include <pthread.h> void *thread_func(void *p_arg) { while (1) { printf("%s\n", (char *)p_arg); sleep(10); } } int
阅读全文
posted @ 2023-10-15 20:29
苏格拉底的落泪
阅读(528)
推荐(0)