作者:张昌昌   1.顺序绑定 erl +sbt db 是按从前到后的顺序来绑定调度器的,如: erl +sbt db +S 3含义是启动erlang虚拟机,开启3个调度器,按顺序绑定在0,1.2号核上. 2.随机绑定 利用taskset命令, taskset -c 1,3,5 erl +S 3:含义是启动3个调度器的erlang虚拟机,3个调度器分别绑定在指定的1,3,5号cpu核上.然后可运行 top命令,按下1查看各核的负载情况. taskset -c 1-5 erl +S 5:含义是启动…
/******************************************************************************** * Linux 进程.线程运行在指定CPU核上 * 说明: * affinity参数决定了进程.线程是否可在CPU多核之间切换,当然,并不是说就不进行 * 线程切换. * * 2017-9-22 深圳 龙华樟坑村 曾剑锋 *********************************************************…
=============================================================== linux下的单进程多线程的程序,要实现每个线程平均分配到多核cpu,主要有2个方法 1:利用linux系统自己的线程切换机制,linux有一个服务叫做irqbalance,这个服务是linux系统自带的,默认会启动,这个服务的作用就是把多线程平均分配到CPU的每个核上面,只要这个服务不停止,多线程分配就可以自己实现.但是要注意,如果线程函数内部的有某个循环,且该循环内…
基本概念 cpu亲和性(affinity) CPU的亲和性, 就是进程要在指定的 CPU 上尽量长时间地运行而不被迁移到其他处理器,也称为CPU关联性:再简单的点的描述就将指定的进程或线程绑定到相应的cpu上:在多核运行的机器上,每个CPU本身自己会有缓存,缓存着进程使用的信息,而进程可能会被OS调度到其他CPU上,如此,CPU cache命中率就低了,当绑定CPU后,程序就会一直在指定的cpu跑,不会由操作系统调度到其他CPU上,性能有一定的提高. 软亲和性(affinity) 就是进程要在指…
问题:写了一个程序,尝试在843端口监听,结果在执行bind的时候失败了 原来,系统不允许用户程序在1-1024端口监听,因为他们是知名端口. 解决办法: 换成root用户,即可成功bind.(ubuntu下命令为:sudo su  ,然后输入密码回车即可切换用户.) sudo java -jar…
如果服务器上有两快网卡就可以把它绑定为一块虚拟的网卡,如果一块网卡坏了另一块还可以继续工作,增加了冗余度和负载,具体做法如下: 新建一个虚拟的网卡,命令如下: iv /etc/sysconfig/network-scripts/ifcfg-bond0 在文件里输入: DEVICE=bond0BOOTPROTO=staticIPADDR=192.168.0.231NETMASK=255.255.255.0ONBOOT=yesTYPE=Ethernet 保存后退出 然后修改ifcfg-eth0和if…
问题:写了一个程序,尝试在21端口监听,结果在执行bind的时候失败了. sockaddr_in sock_addr; sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = host_inet_addr; sock_addr.sin_port = htons(port);    //port=21 ret = bind( m_socket_fd, (const sockaddr*)&sock_addr, sizeof(sockad…
1.查看物理CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 1 2.查看逻辑CPU的个数 [root@MysqlCluster01 ~]# cat /proc/cpuinfo |grep "processor"|wc -l 4 3.查看CPU是几核(即,核心数) [root@MysqlCluster01 ~]# cat /proc/cpuin…
本地已经有一个项目了,需要将该项目放到github上,怎么操作? 步骤: 本地安装git,有github账号是前提. (1)先在github创建一个空的仓库,并复制链接地址.使用https,以.git结尾的那个地址. (2)初始化本地仓库,并提交内容到本地 要先打开命令行终端,然后通过cd命令切换到需要添加到github的项目的目录下,然后依次执行如下命令,具体命令及其含义如下: touch README.md --创建说明文档 git init --初始化本地仓库 git add . --添加…
常用linux,往U盘拷贝文件是常用的一种方法.下面这个方法是笔者亲测有效,暂时记录下来. 1.插入U盘,fdisk -l查看U盘是哪个设备(比如/dev/sdb1)然后mount  /dev/sdb1 /mnt 2.ls /mnt #发现已经挂载上了 3.cp /home/atom1/Documnets/server.cpp /mnt 4.ls /mnt #发现文件已经复制过来了 5.umount /mnt #卸载U盘 参考文档: 1 https://blog.csdn.net/sven_00…