linux max_threads参数计算

linux max_threads参数计算,第1张

内核threads线程数是一定的,具体是跟机器内存有关系

部分参数获取方法

PAGE_SIZE:getconf PAGE_SIZE 单位byte

THREAD_SIZE:ulimit -s

额定具体计算如下

max_threads = mempages / (THREAD_SIZE/PAGE_SIZE) / 8

mempages计算

mempages = 物理内存大小/PAGE_SIZE

例如:32G内存

mempages = 32174 * 1024 * 1024/4*1024 = 8236544

max_threads = 8236544/(8 1024)/(4 1024)/8 = 514784

因为为了保证每个用户进程总数不至于超过一半内存fork_init()指定:

init_task.rlim[RLIMIT_NPROC].rlim_cur = max_threads/2

init_task.rlim[RLIMIT_NPROC].rlim_max = max_threads/2

即物理额定线程数为514784/2=257392

可以使用wc命令,wc命令的功能为统计指定文件中的字节数、单词数、行数, 并将统计结果显示输出。

常用参数:

-c, --bytes打印字节数

-m, --chars 打印字符

-l, --lines 打印行数

-w, --words 打印单词数

用法示例:

统计file.txt文件中字符的个数:

$ wc -m file.txt

wc命令默认的输入参数为文件名,可以转而通过管道符输入文本流。

统计字符串"zhidao"字符的个数:

$ echo "zhidao" | wc -m

1、统计某个字符的个数,以a为例grep -o a urifleawk -F "" '{for(i=1i<=NF++i) if($i=="a") ++sum}END{print sum}' urfile #-F ""中间必须要有空格 "a"必须使用双引号,字符串 awk -F "" '{for(i=1i<=NFi++)a[$i]++}END{for(j in a) if(j=="c") print a[j]}' urfile#2、储存在变量里echo "0001111" |tr -cd 1 |wc -c如果有时间可以看看《Linux就该这么学》,里面有各种Linux相关知识


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8499249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存