内核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相关知识欢迎分享,转载请注明来源:内存溢出
评论列表(0条)