宋宝华: Linux中的1024——给阅码场Linuxer们的节日祝福

1024是程序员的狂欢节。基于二进制的原理,程序员通常会把1024当做一个整数而不是1000。程序员这个行业处理“bit”,当然这个行业“苦逼”,这也让我轻松地记住了一个单词——bitter。bitter的意思就是“苦的”,bit后面加er后缀,是人,这里只是会意记单词。

er通常表明比较loser的人,英语里面一般地位崇高的人,后缀是-or。比如

carpenter 木匠 vs. doctor 博士

programmer 程序员 vs. professor 教授

coder码农 vs. director 总监

为啥咱们不叫programmor,不叫codor原因应该是很清楚了。人艰不拆,当然我们也不要妄自菲薄,这里仅仅是开一个玩笑,让大家在自己的节日里比较欢乐。

作为一个Linux程序员,我们Linux中的1024有哪些呢?

Linux中的1024

CFS调度算法中nice值是0的进程的权重;

CPU CGroup一般的初始权重;

ext4文件系统的block size可以是1024;

普通用户不能用1024以下的网络端口

CFS调度算法中nice值是0的进程的权重


在CFS调度算法中,

vruntime += delta* NICE_0_LOAD/ se.weight

NICE_0_LOAD就是1024,所以nice是0的进程,虚拟时间轴和物理时间轴是匹配的。

CPU CGroup一般的初始权重


当采用CPU CGroup的时候,这个CGroup会自动获得一个权重,它的初始值一般为1024。

这代表了一个群与另外一个群在竞争CPU时候的权重, cpu.shares越大,此群享有更多的竞争优势。

ext4文件系统的block size可以是1024


mkfs.ext4一般会把小分区的block size格式化为1024,大分区的block size格式化为4096。block size是硬盘在文件系统里面分配的最小单元。

这点从/etc/mke2fs.conf文件可以看出:

当然,对于一个分区,我们也可以直接用mkfs.ext4 -b 1024来指定分区block size是1024。譬如:

下面我们用dumpe2fs /dev/vmem_diska命令观察一下:

普通用户不能用1024以下的网络端口


譬如,下面代码从端口如果是1022,程序运行时bind会报错:

打印的出错信息如下:

Error: : Permission denied

但是我们如果用sudo跑,是可以的:

当然,普通用户可以直接用1024以上的端口:

改为8000后,普通用户跑上面的程序也不会出现权限错误。

相信Linux里面还有很多的1024,我们主要从进程、文件系统、网络子系统里面抽取了部分案例,聊供诸君一笑。

祝Linux阅码场的用户朋友们节日快乐!

祝有情人终成眷属!!

愿世界和平!!!

本文分享自微信公众号 - Linux阅码场(LinuxDev)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-10-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券