V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xiaozhaoz  ›  全部回复第 1 页 / 共 2 页
回复总数  38
1  2  
这玩意现在这么难吗?

2009 年第一届考架构师,考试范围,书什么都没有。时间到了直接去考,好像不太难,考考就过了。
复旦大学附属中山医院,心内心外全国都排前三。
微信小程序可以看看,看能不能远程挂号。
先找个普通门诊挂号检查,结果出来后多花点挂号费找特需。
58 天前
回复了 KJH 创建的主题 程序员 架构师都是怎样炼成的
架构师是一个随着对技术和业务理解的加深,技术人员自然回到的一个岗位选择。

senior engineer 如果还做技术,最终两条路,一个是深度,一个是广度。
在某个技术做的很深,最后可能会成为技术专家,类似 DE 、PE 岗位。技术专家成为公司内某方面技术的权威。
技术广了,对业务理解的更多了,最后可能成为架构师。架构师要做核心技术选型、子系统边界设计、核心模块边界设计。

所以架构师是开发人员对技术广度和业务理解更深刻后,晋升的一个岗位。
pthread_init_attr()
pthread_attr_getstack()
看默认栈大小。

不同的 libc 实现,线程栈大小不同,glibc 默认 2M 。
ulimit -s 也会限制栈大小。

可以统一通过 pthread_create 第二个参数设置栈大小。
@xiaozhaoz 错了,最后一种情况 1 的个数会变。
看到过一个算法,可以算一个 32bits 的 1 个数。
int count(unsigned x) {
x = x - ((x >> 1) & 0x55555555);
x = (x & 0x33333333) + ((x >> 2) & 0x33333333);
x = (x + (x >> 4)) & 0x0F0F0F0F;
x = x + (x >> 8);
x = x + (x >> 16);
return x & 0x0000003F;
}
根据前一个数 的三种情况:
- 最后一位 0 ,1 的个数 + 1
- 前一个数全 1 ,1 的个数回到 1 ,实现方法:记住前一个数二进制长度,“~前一个数 & ( 0x1<<位数)- 1” == 0
- 其他情况,1 的个数不变
@Zoooooberg
我前面说内核 slab 内存也不太正常,因为 slab 占用了 7G 内存,一般的系统占用 2 ,3G 算比较多的。
看不懂 slabinfo ,也可以用 slabtop 直接看,可以看到哪些内核数据结构占用了较多内存。
你提供的 slabinfo ,可以看出通用 kmalloc 占用内存较多,所以还是怀疑硬件驱动模块 map 了大量内存。

我以前排查的问题是:
1. 系统启动后,内存就用了大概 50G ,应用使用很少。
2. lsmod 看哪些外挂驱动; dmesg 看内核 built-in 驱动。
3. 然后根据硬件驱动 modprobe -r 卸载驱动排查,最后定位到 intel 10G 网卡驱动有问题,再 64k 和 2M page size 的时候,multi rx ,tx queue 会导致占用大量物理内存。
4. 排查 GPU 显卡驱动时,也发现过类似问题。

物理驱动,启动后,都会分配连续内存用于设备和 cpu 交换数据,以前的内核 page size 是 4K ,驱动一般会 pagesize * count 计算要 map 的内存大小,当 pagesize 变成 64K 甚至 2M 的时候,驱动占用的内存就会变得很大。
在操作系统角度来看,物理内存除了分配给用户空间进程使用,还要给内核任务、硬件外设和 cpu 交换( dma )、文件系统 buffer/cache 、内核内存算法还有开销。

所以只看资源管理器或 top 里面的用户进程不一定能查到内存消耗在哪里了。

那个设备的内核内存开销也不正常, cat /proc/slabinfo 看看。
可能有硬件驱动,直接 map 了物理内存,看 directmap 能看出来。

以前碰到过类似的问题,因为 huge page , 网卡驱动有 bug ,ringbuf 占用了大量物理内存。
喜欢写代码的话,不差钱 有很多开源项目都可以去做,开源项目做多了工作自然就找到了。
202 天前
回复了 cryboy007 创建的主题 投资 炒股风波
大家不要嘲笑了,这是新手的正常反应。每个人都是这样过来的。

炒股考验综合能力,心理承受能力也是其中之一。
个人经验,把炒股当作一个风险更大的理财方式,买入全亏不心痛的额度。然后慢慢在市场中找感觉和适合自己的方法。没人能给你经验和指点,每人性格和心理承受能力不同。

新手一上来就赚钱不是好事,没有交学费学不到东西。
@PTLin 写入 reserved memory address ,然后如你所说的 gp 上捕获异常,写一级目录和 cr3. 这个方法老的 linux 版本上试过,可以走通但没什么用。
问一下,这个证有什么用。
我第一年有这个考试的时候,好像是 09 年吧,过了拿了证。一直在吃灰。
当年没书没题没范围,因为做了好几年架构设计,没准备去考感觉很容易就过了,以为这个证没啥用,这几年看好像很多人考。
@PTLin
我觉得也不是 cpu 设计的原因,是操作系统实现的原因。
如果说的是 userspace process , 没必要一级页表也要动态分配,因为程序总是要用内存的。一级页表开销也不大。
如果真的要实现 userspace process 一级页表也要动态分配,以前尝试过 cr3 放一个 reserved address ,然后触发 sigbus 后再分配 pdbr
2017-11-07 19:58:45 +08:00
回复了 xilixjd 创建的主题 程序员 前端月薪天花板大概是多少
天花板,嗯,想想 Zuckerberg 吧, 一开始也是玩前端. 年收入大概 1B ¥...
满意了吧..
2016-12-20 16:12:09 +08:00
回复了 cctv323 创建的主题 职场话题 帝都 985 研究僧,明年找工作,现在转前端来得及吗
去一家写代码的做无人机公司。
建议别转前端。

做飞行控制等算法是你的优势, 编码技能只是点缀而已。

所以去大疆或者很多国外的新起的无人机公司。
2016-11-19 21:32:49 +08:00
回复了 Antidictator 创建的主题 程序员 看技术文档 PDF 之类的比较适合是 Kindle 吗?
kindle dxg 谁用谁知道。
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3843 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 10:20 · PVG 18:20 · LAX 02:20 · JFK 05:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.