使用VSCode实现Electron及ffmpeg等超大项目代码智能感知

背景

最近一直使用VSCode来读代码和写代码,包括一些小的C项目和C++项目,用起来很顺手。

随着项目逐渐深入,我需要更有效率的在各种大型代码库中进行定义跳转及引用查找,并且需要精确的根据项目配置选择宏定义,另外就是在修改代码时对于使用到的数据结构进行代码提示。这里面包含了大量的使用到了GNU Make系列组织的项目以及Google系列的用ninja编译工具的项目。针对这两种项目,现在使用VSCode不能满足跨文件的智能感知,这个问题是否能解决呢。

阅读更多使用VSCode实现Electron及ffmpeg等超大项目代码智能感知

virt-manager + kvm: linux下多NUMA节点的最佳虚拟化方案

问题

最近遇到一个场景,在多NUMA节点(Xeon E5-2620 v2 x2, 2 NUMA, node, 24线程)的机器上,希望部署可以充分利用CPU资源的虚拟机方案。由于没有在多NUMA环境下的经验,一上来直接安装了virtualbox,并指定了24个核心到虚拟机上。但是在配置时发现virtualbox提示说有存在问题的配置,只有分配不超过12个核时才正常。同时启动virtualbox虚拟机后发现,虚拟机运行十分卡顿,且在宿主机上观察CPU有大量的sys占用。如何才能解决在linux下让虚拟机用上超多核心的问题呢。

阅读更多virt-manager + kvm: linux下多NUMA节点的最佳虚拟化方案

使用linux源路由解决双网卡无法正常工作问题

一台centos 6.5的机器,有两张网卡,过去一直使用其中的em1,IP为A。现在需要为em2添加另一个IP B,并且两个IP都要正常对外服务。设置完成后,默认网关是配置为走em1,此时发现从B无法访问机器。默认网关更改为走em2,此时发现从A无法访问机器。经过查找发现是由于从非网关网卡进入的数据,处理后并未通过来的网卡原路返回,而是走了默认网关,导致能发却收不到的问题。
此时解决方案是让路由表通过判定IP包的来源,如果源地址是非网关的IP,则在路由选择时要通过非网关的IP发送。

阅读更多使用linux源路由解决双网卡无法正常工作问题