作者: 耗子007
C语言
c语言测试套框架:https://libcheck.github.io/check/
作者: 耗子007
设置/proc/sys/vm/legacy_va_layout为0,调整进程地址空间的heap增长方向为从上往下。
这样可以使得heap的上限超过2G。
1 | 0 ----------------------------------------------------------------------------------------- 3G -------- 4G |
1 | /proc/sys/vm/legacy_va_layout (since Linux 2.6.9) |
修改heap增长方向代码(以linux4.1的arm为例)
1 | void arch_pick_mmap_layout(struct mm_struct *mm) |
作者: 耗子007
内核在内核模式loop超过get_softlockup_thresh()获取的阈值时间,导致其他任务没有机会运行的bug,称为”softlockup”。
简单来说,就是抢占被关闭时间超过阈值,导致其他进程无法调度。
CPU在内核模式loop时间超过hw_nmi_get_sample_period函数获取的阈值时间,导致其他中断不能运行的bug,称为”hardlockup”。
简单来说,就是中断被关闭时间超过阈值,导致其他中断无法运行。
1 | proc_watchdog_update 更新watchdog状态,如果开启了watchdog,触发开狗流程 |
watchdog函数就是喂狗,保证不出现softlockup,这里不需要关注太详细。
1 | static void watchdog(unsigned int cpu) |
tick的方式,注册watchdog。
1 | kernel_init 内核初始化 |
作者: 耗子007
我的wordpress是用sqlite作为数据库的
wordpress是运行在docker容器里面的
网站的所有数据都有备份
安装docker
按照“基于centos搭建wordpress的docker镜像”制作对应的docker镜像(假设名字为wordpress_sqlite)
拷贝备份数据到新机器的/workspace/wordpress/blogs/,执行
1 | docker run –privileged -itd -p 8080:80 -v /workspace/wordpress/blogs/:/var/www/html wordpress_sqlite bash -l -c “/sbin/init” |
此时,网站应该可以正常运行了。
注意:如果你修改了网站的域名,那么需要对sqlite数据库的数据进行修改。
##问题
当迁移的机器域名变化时,需要怎么修改网站配置。
准备环境:安装sqlite3,sqlitebrowser
最重要的就是需要修改两个配置:
WordPress地址(URL)—-对应wp_options的 home
站点地址(URL)—-对应wp_options的 siteurl
1 | UPDATE wp_options SET option_value = replace( option_value, ‘http://www.old.com’, ‘http://www.new.com’ ) WHERE option_name = ‘home’ OR option_name = ‘siteurl’; |
注意:
参考文章: