iPhone6s使用的是A9 CPU,本来该CPU应该由三星代工,但是据说产能问题,部分CPU由台积电代工。但是,这二个代工厂使用的工艺并不相同,三星使用的是14nm芯片,台积电使用的是16nm。虽然苹果说并没有使用差别,但是我查了下资料,应该说差别是不太大,但是还是有一点。

如何鉴别CPU类型

方法很多,我使用了最简单的一个,到App Store直接搜索CPU Identifier这款软件,直接运行即可,我用老婆的手机试了下,截图如下:

CPU Identifier

CPU类型:

  • N71mAP — iPhone 6s with TSMC-manufactured A9 processor
  • N66mAP — iPhone 6s Plus with TSMC-manufactured A9 processor
  • N71AP — iPhone 6s with Samsung-manufactured A9 processor
  • N66AP — iPhone 6s Plus with Samsung-manufactured A9 processor

显然,我老婆这台iPhone6s是台积电的!

台积电与三星概率

iPhone6s Ratio

二款CPU性能差异

iPhone6s Performance

从性能看,确实差别不大!

二款CPU耗电情况

iPhone6s Power

耗电方面按说14nm应该好于16nm,但实测后发现反而是台积电的16nm要好些!我看过几份测试,虽然有些差异,但是待机差异应该在1~2小时之间。

再补充个冷知识:如何看iPhone产地

iPhone6s Location

  • C:代表深圳产
  • D:代表成都产
  • F:代表郑州产

公司网络需要设置代理服务器才能访问外网,我拿到了Docker for Mac Beta的邀请激活Token,但是在公司内网无法激活,并且,就算是激活了,想从Docker Hub上拖Image也是个麻烦事儿,经过研究,解决方案如下:

如何激活Docker for Mac Beta

export HTTP_PROXY=http(s)://proxy_host:proxy_port
export HTTPS_PROXY=http(s)://proxy_host:proxy_port

./Applications/Docker.app/Contents/MacOS/Docker

弹出激活窗口,输入Token提交激活。关闭窗口,在LaunchPad上点击Docker图标正常启动即可!

如何为Docker Engine设置代理

设置这个主要是为了docker pull,我没有查到相关资料,以下方法纯是自己琢磨的。

打开终端,输入以下命令:

screen ~/Library/Containers/com.docker.docker/Data/com.docker.driver.amd64-linux/tty

敲一下回车,登录,用户名root,没有密码,直接回车。编辑/etc/init.d/docker文件,如下添加代理:

start-stop-daemon --start --quiet \
-e HTTP_PROXY=http(s)://proxy_host:proxy_port \
--background \
--exec ${command} \
--pidfile ${pidfile} \
--stderr "${DOCKER_LOGFILE}" \
--stdout "${DOCKER_LOGFILE}" \
-- daemon --pidfile=${pidfile} ${DOCKER_OPTS}

重启Docker服务

/etc/init.d/docker restart
/etc/init.d/docker status

如何添加Docker Hub镜像

由于GFW的捣乱,拉镜像非常慢,甚至根本无法下载,解决方法如下:

获取镜像地址

当前镜像服务很多,我自己是用的阿里的Docker镜像服务,自己注册帐号,访问控制台。点击左边的“加速器”,记住“您的专属加速器地址:”信息。

导出:

pinata get daemon > myconfig.json

将此文修改为:

{"storage-driver":"aufs","debug":true,"registry-mirrors":["上面的加速器地址”]}

导入:

pinata set daemon @myconfig.json

重新启动Docker服务即可生效!

sudo trimforce enable

因为系统原生工具,此方法无需开启rootless=0,更不会改变已有驱动的签名,也就是说不需要kext-dev-mode=1,白果也可用此方法开启Trim。

升级完OSX不知道怎么搞得,打开Terminal时会报以下错误:

compdef: unknown command or service: git
compdef: unknown command or service: grep
compdef: unknown command or service: git

估计是权限方面的问题,后来试了很多方法,解决方法如下:

执行:

compaudit | sudo xargs chmod g-w
compaudit | sudo xargs chown root
rm ~/.zcompdump*
compinit

相对于Virtualbox,xhyve更加轻量级,这也是Docker Toolbox下一个版本的重大更新,虽然我提交了Docker Toolbox Beta的申请,但是,截至本文写作时,还未得到安装介质。

安装xhyve与docker

brew install xhyve docker docker-machine docker-compose docker-machine-driver-xhyve

注意:如果你在安装前已经安装了Docker Toolbox,安装时会遇到错误提示,所以,执行以上命令前,要么卸载Docker Toolbox,要么根据提示修复错误,我自己实践地是后一种方式。

创建docker-machine

sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
docker-machine create default --driver xhyve

初始化Shell:

eval $(docker-machine env default)

设置docker-machine代理

由于在公司实验,所以不得不设置代理。执行以下命令进入boot2docker:

docker-machine ssh default

编辑profile文件:

sudo vi /var/lib/boot2docker/profile

添加以下内容:

export http_proxy=http://your-proxy-host:your-proxy-port
export https_proxy=http://your-proxy-host:your-proxy-port

重新启动:

docker-machine restart default

测试

打开Terminal,执行:

eval $(docker-machine env default)

下载容器镜像:

docker pull ubuntu

查看容器镜像:

docker images

妥了!以后再也不用Virtualbox这个笨家伙了!