ubuntu c 编译器编译andorid,cpu用多少核

ubuntu&查看CPU使用率
Ubuntu查看CPU及CPU利用率
查看机子有几个CPU以及每个CPU的详细信息
& cat \proc\cpuinfo
查看CPU的利用率
先执行top命令,再按1,可以看到每个CPU的利用率
&显示的信息中%us的值,表示CPU使用了多少
%user&%system&%nice&%idle&%iowait
%irq %soft intr/s
CPU 处理器ID
user 在internal时间段里,用户态的CPU时间(%),不包含 nice值为负 进程
(usr/total)*100&
system 在internal时间段里,核心时间(%) (system/total)*100
nice 在internal时间段里,nice值为负进程的CPU时间(%)
(nice/total)*100&
在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)(idle/total)*100
iowait 在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100
irq 在internal时间段里,硬中断时间(%) (irq/total)*100
soft 在internal时间段里,软中断时间(%) (softirq/total)*100
intr/s 在internal时间段里,每秒CPU接收的中断的次数intr/total)*100
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Ubuntu 14.04 下编译 ijkplayer Android | 谦谦的博客
Today is not yesterday.
2016年十一月
78910111213
14151617181920
21222324252627
谦谦 15岁,还在长
我在江苏,现在念高一。
Visual Basic 6.0爱好者(非高手)
Visual Basic.NET爱好者(非高手)
C/C++爱好者
x86汇编爱好者
Win32开发爱好者
平时比较懒,写的代码相当少。
经验严重不足。android源代码(8)
转自:http://blog.csdn.net/gobitan/article/details//
基于Ubuntu 14.04 LTS编译Android4.4.2源代码
& & & & Dennis Hu
环境准备:
基本环境:ubuntu-14.04-desktop-64bit LTS(裸机或者Windows下虚拟机安装均可,12.04也可以,但10.04目前不支持了)
其他要求:空闲磁盘空间100G以上,代码部分接近10G,其他为git和编译中间和目标文件准备
==========================================
第一部分:环境初始化
==========================================
1. 安装Oracle JDK
注意:如果编译Android4.4不能用OpenJDK,必须用Oracle JDK1.6,1.7目前是不支持的。
具体如何安装Oracle JDK,请参见我的另一篇单独的文章,[Ubuntu Linux下安装Oracle JDK]&.
2. 安装必备工具软件
注意:这里与官方的有个包不同,官方的包会报错.
$sudo&apt-get&install&git&gnupg&flex&bison&gperf&build-essential&zip&curl&libc6-dev&libncurses5-dev:i386&x11proto-core-dev&libx11-dev:i386&libreadline6-dev:i386&libgl1-mesa-dri:i386&libgl1-mesa-dev&g++-multilib&mingw32&tofrodos&python-markdown&libxml2-utils&xsltproc&zlib1g-dev:i386&dpkg-dev&&$&sudo&ln&-s&/usr/lib/i386-linux-gnu/mesa/libGL.so.1&/usr/lib/i386-linux-gnu/libGL.so&&
3. 配置USB访问权限
将如下内容加入到/etc/udev/rules.d/51-android.rules文件中
[plain] #&adb&protocol&on&passion&(Nexus&One)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e12&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&passion&(Nexus&One)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&0bb4&,&ATTR{idProduct}==&0fff&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&crespo/crespo4g&(Nexus&S)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e22&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&crespo/crespo4g&(Nexus&S)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e20&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&stingray/wingray&(Xoom)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&22b8&,&ATTR{idProduct}==&70a9&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&stingray/wingray&(Xoom)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&708c&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&maguro/toro&(Galaxy&Nexus)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&04e8&,&ATTR{idProduct}==&6860&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&maguro/toro&(Galaxy&Nexus)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e30&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&panda&(PandaBoard)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&0451&,&ATTR{idProduct}==&d101&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&panda&(PandaBoard&ES)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&d002&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&panda&(PandaBoard)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&0451&,&ATTR{idProduct}==&d022&,&MODE=&0600&,&OWNER=&&username&&&&#&usbboot&protocol&on&panda&(PandaBoard)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&0451&,&ATTR{idProduct}==&d00f&,&MODE=&0600&,&OWNER=&&username&&&&#&usbboot&protocol&on&panda&(PandaBoard&ES)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&0451&,&ATTR{idProduct}==&d010&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&grouper/tilapia&(Nexus&7)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e42&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&grouper/tilapia&(Nexus&7)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4e40&,&MODE=&0600&,&OWNER=&&username&&&&#&adb&protocol&on&manta&(Nexus&10)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4ee2&,&MODE=&0600&,&OWNER=&&username&&&&#&fastboot&protocol&on&manta&(Nexus&10)&&SUBSYSTEM==&usb&,&ATTR{idVendor}==&18d1&,&ATTR{idProduct}==&4ee0&,&MODE=&0600&,&OWNER=&&username&&&&然后执行如下命令,将上述文件中的username替换为你的用户名。
$sudo&sed&-i&'s/username/dennis/g'&/etc/udev/rules.d/51-android.rules&&
4. 配置ccache
安装ccache并将export USE_CCACHE=1加入到~/.bashrc中。
$sudo&apt-get&install&ccache&&$source&~/.bashrc&&
==========================================
第二部分:源代码下载
==========================================&
1. 安装repo
(1) 创建目录
$&mkdir&~/bin&&$&PATH=~/bin:$PATH&&
(2) 下载repo工具
注:由于防火墙的原因,官方提供的链接无法使用,需替换为如下:
官方的为curl /git-repo-downloads/repo & ~/bin/repo
curl&http://git-/files/repo-1.12&&&~/bin/repo&&
(3) 增加可执行权限
$&chmod&a+x&~/bin/repo&&
2. 初始化Repo客户端
(1)创建目录
$mkdir&aosp&&$cd&aosp&&
(2) 初始化repo
注:后面可能出现网络错误,请先将如下内容加入到/etc/hosts中然后做后面的步骤。
74.125.71.82&&&74.125.31.82&&&203.208.46.172&cache.&&59.24.3.173&cache.&&
至于为什么要出现网络错误,你懂的!
$repo&init&-u&/platform/manifest&-b&android-4.4.2_r2&&
注意:如果是在虚拟机中执行,需要采用email验证的方式,详细参见参考资料[2].
设置git的用户名和邮件地址,将您的真实email地址和name替换了:
git&config&--global&user.email&&&&&git&config&--global&user.name&&Your&Name&&&
修改aosp/.resp/manifest.xml,将fetch=&..&改为:
3. 下载源代码
$repo&sync&&
注意:系统可能会提示你升级repo,最好不要升级,除非你有十足信息解决升级后的一系列问题。
好了,慢慢等吧,短则数小时,长则几天几夜!我花了5个小时
==========================================
第三部分:源代码编译&
==========================================
1.&设置ccache
注:aosp为源代码根目录
$&cd&aosp&&$&prebuilts/misc/linux-x86/ccache/ccache&-M&50G&&
2. 设置输出目录
略:由于我未分区,因此采用默认的out目录
3. 初始化编译环境
dennis@dubuntu1404:~/devenv/aosp$&.&build/envsetup.sh&&&including&device/samsung/manta/vendorsetup.sh&&including&device/generic/mips/vendorsetup.sh&&including&device/generic/armv7-a-neon/vendorsetup.sh&&including&device/generic/x86/vendorsetup.sh&&including&device/lge/mako/vendorsetup.sh&&including&device/lge/hammerhead/vendorsetup.sh&&including&device/asus/tilapia/vendorsetup.sh&&including&device/asus/deb/vendorsetup.sh&&including&device/asus/grouper/vendorsetup.sh&&including&device/asus/flo/vendorsetup.sh&&including&sdk/bash_completion/adb.bash&&dennis@dubuntu1404:~/devenv/aosp$&&&
4. 选择编译目标包
注:目标包的选择跟你的硬件有关。我这里选择9,mako
dennis@dubuntu1404:~/devenv/aosp$&lunch&&You're&building&on&Linux&&Lunch&menu...&pick&a&combo:&&&&&&&1.&aosp_arm-eng&&&&&&&2.&aosp_x86-eng&&&&&&&3.&aosp_mips-eng&&&&&&&4.&vbox_x86-eng&&&&&&&5.&aosp_manta-userdebug&&&&&&&6.&mini_mips-userdebug&&&&&&&7.&mini_armv7a_neon-userdebug&&&&&&&8.&mini_x86-userdebug&&&&&&&9.&aosp_mako-userdebug&&&&&&&10.&aosp_hammerhead-userdebug&&&&&&&11.&aosp_tilapia-userdebug&&&&&&&12.&aosp_deb-userdebug&&&&&&&13.&aosp_grouper-userdebug&&&&&&&14.&aosp_flo-userdebug&&Which&would&you&like?&[aosp_arm-eng]&9&&============================================&&PLATFORM_VERSION_CODENAME=REL&&PLATFORM_VERSION=4.4.2&&TARGET_PRODUCT=aosp_mako&&TARGET_BUILD_VARIANT=userdebug&&TARGET_BUILD_TYPE=release&&TARGET_BUILD_APPS=&&TARGET_ARCH=arm&&TARGET_ARCH_VARIANT=armv7-a-neon&&TARGET_CPU_VARIANT=krait&&HOST_ARCH=x86&&HOST_OS=linux&&HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty&&HOST_BUILD_TYPE=release&&BUILD_ID=KVT49L&&OUT_DIR=out&&============================================&&dennis@dubuntu1404:~/devenv/aosp$&make&-j4&&
注:j4中的数字跟你的CPU个数和核数有关,详细参见参考资料[3].
整个编译过程,大约花了三个小时。编译成功后会在out目录下生成img文件。
5. 将img加载到物理机
(1) 将手机用USB数据线连接到机器
(2) 安装fastboot工具
$&sudo&apt-get&install&android-tools-fastboot&&
(3)&设置ANDROID_PRODUCT_OUT环境变量
将如下部分加入~/.bashrc文件中:
export&ANDROID_PRODUCT_OUT=/home/dennis/devenv/aosp/out/target/product/mako&&
然后保存执行&. .bashrc&使其生效。
(4) 以fastboot模式重启手机
$&adb&reboot&bootloader&&
此时手机会重启,呈现一个与往不同的fastboot界面
(5) 将编译的img刷到目标机
dennis@dubuntu1404:~/devenv/aosp/out$&fastboot&flashall&-w&&--------------------------------------------&&Bootloader&Version...:&PRIMEMD04&&Baseband&Version.....:&I9250XXLJ1&&Serial&Number........:&00900B&&--------------------------------------------&&checking&product...&&FAILED&&Device&product&is&'tuna'.&&Update&requires&'mako'.&&finished.&total&time:&0.035s&&
(注:由于我的物理机三星I9250在lunch里没有对应的型号,因此会加载失败,这里这是记录过程)
===================================
如果需要编译其他版本,可执行如下步骤,这里选择虚拟机用的通用版本aosp_arm-eng。
$&cd&aosp&&dennis@dubuntu1404:~/devenv/aosp$&.&build/envsetup.sh&&including&device/samsung/manta/vendorsetup.sh&&including&device/generic/mips/vendorsetup.sh&&including&device/generic/armv7-a-neon/vendorsetup.sh&&including&device/generic/x86/vendorsetup.sh&&including&device/lge/mako/vendorsetup.sh&&including&device/lge/hammerhead/vendorsetup.sh&&including&device/asus/tilapia/vendorsetup.sh&&including&device/asus/deb/vendorsetup.sh&&including&device/asus/grouper/vendorsetup.sh&&including&device/asus/flo/vendorsetup.sh&&including&sdk/bash_completion/adb.bash&&dennis@dubuntu1404:~/devenv/aosp$&lunch&aosp_arm-eng&&============================================&&PLATFORM_VERSION_CODENAME=REL&&PLATFORM_VERSION=4.4.2&&TARGET_PRODUCT=aosp_arm&&TARGET_BUILD_VARIANT=eng&&TARGET_BUILD_TYPE=release&&TARGET_BUILD_APPS=&&TARGET_ARCH=arm&&TARGET_ARCH_VARIANT=armv7-a&&TARGET_CPU_VARIANT=generic&&HOST_ARCH=x86&&HOST_OS=linux&&HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty&&HOST_BUILD_TYPE=release&&BUILD_ID=KVT49L&&OUT_DIR=out&&============================================&&dennis@dubuntu1404:~/devenv/aosp$&make&-j4&&============================================&&PLATFORM_VERSION_CODENAME=REL&&PLATFORM_VERSION=4.4.2&&TARGET_PRODUCT=aosp_arm&&TARGET_BUILD_VARIANT=eng&&TARGET_BUILD_TYPE=release&&TARGET_BUILD_APPS=&&TARGET_ARCH=arm&&TARGET_ARCH_VARIANT=armv7-a&&TARGET_CPU_VARIANT=generic&&HOST_ARCH=x86&&HOST_OS=linux&&HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty&&HOST_BUILD_TYPE=release&&BUILD_ID=KVT49L&&OUT_DIR=out&&============================================&&including&./abi/cpp/Android.mk&...&&including&./art/Android.mk&...&&....中间过程省略&&Install&system&fs&image:&out/target/product/generic/system.img&&out/target/product/generic/system.img+&maxsize=&blocksize=2112&total=&reserve=5947392&&
编译完成,执行如下命令可以将您刚build好的ROM在模拟器里运行起来,第一次启动的时间可能比较长:
$ emulator &
注意:如果提示找不到emulator命令,可将如下环境变量重新初始化一遍(也就是每次重新进入系统运行的时候,都需要初始化一遍),lunch后面的参数要与你编译的ROM选项一致。
$.&build/envsetup.sh&&$lunch&aosp_arm-eng&&
转载请注明出处: 雨水:&
更新日志:
:增加自己编译的ROM在模拟器里的运行方法;
参考资料:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:539431次
积分:5359
积分:5359
排名:第3715名
转载:402篇
评论:113条
(2)(3)(14)(9)(8)(16)(2)(5)(4)(4)(1)(1)(1)(2)(1)(1)(3)(7)(7)(5)(2)(3)(11)(9)(2)(7)(10)(3)(2)(3)(20)(23)(1)(12)(17)(8)(16)(28)(46)(44)(12)(31)(7)Ubuntu系统进程绑定CPU核_Linux教程_Linux公社-Linux系统门户网站
你好,游客
Ubuntu系统进程绑定CPU核
来源:http://blog.csdn.net/chszs&
作者:chszs
本文讲述如何在系统中,把指定的进程绑定到指定的CPU核运行。而通常是由操作系统负责管理进程和线程的调度,但是这种情况下是不清楚由哪个CPU核运行你的进程,因为操作系统的调度是基于资源的可用性进行判断的。
可以这样,把指定的CPU核绑定到你的进程。
taskset -cp &CPU ID | CPU IDs& &Process ID&
下面用一个简单的例子来说明怎样做到。
1. CPU利用率达100%的样例代码:
class Test {
public static void main(String args[]) {
int i = 0;
while (true) {
2. 编译并运行上面的样例代码
# javac Test.java
# java Test &
3. 使用htop命令查看CPU的利用率
如果未安装htop工具,执行下面的命令:
# apt-get install htop
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
0 upgraded, 1 newly installed, 0 to remove and 41 not upgraded.
Need to get 66.9 kB of archives.
After this operation, 183 kB of additional disk space will be used.
Get:1 /ubuntu/ precise/universe htop amd64 1.0.1-1 [66.9 kB]
Fetched 66.9 kB in 0s (163 kB/s)
Selecting previously unselected package htop.
(Reading database ... 57100 files and directories currently installed.)
Unpacking htop (from .../htop_1.0.1-1_amd64.deb) ...
Processing triggers for man-db ...
Setting up htop (1.0.1-1) ...
安装完成后,执行命令:
上面的视图可以看到,CPU2的利用率达到100%,且这个进程有可能被分配到其它CPU核上运行,这个分配是不定的。
4. 进程绑定CPU核
运行以下命令,把此Java进程(进程ID号为26502)永久的分配给5号CPU核(CPU核号从0开始计算,因此序号4指的是5号CPU核)
# taskset -cp 5 26531
pid 26531's current affinity list: 0-7
pid 26531's new affinity list: 5
从上面的视图中可以看到6号CPU核的利用率为100%。
更多Ubuntu相关信息见 专题页面
本文永久更新链接地址:
相关资讯 & & &
& (05/13/:07)
& (04/15/:12)
& (05/05/:05)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款14572人阅读
ubuntu(8)
Android小知识(81)
最近把windows干掉了,完全使用ubuntu。现在把整个过程记一下,每次搭建都不记得,然后一点一点百度,干脆就记录下来,方便以后重新搭建环境,也可以方便网友们。
ubuntu版本为64 位 14.04桌面版,为方便编译android,使用jdk1.6.26
sudo mkdir /opt/java
sudo chmod 777 /opt/java/
cp jdk-6u26-linux-x64.bin /opt/java/
sudo chmod a+r jdk-6u26-linux-x64.bin
sh ./jdk-6u26-linux-x64.bin
下载eclipse和sdk,解压拷贝至/opt/java/目录下面
没错,所有开发需要的工具都放置在/opt目录下
配置环境变量
sudo gedit /etc/profile
在profile文件后面添加如下内容:
export JAVA_HOME=/opt/java/jdk1.6.0_26
export JRE_HOME=$JAVA_HOME:/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export SDK_ROOT=/opt/Java/android-sdk-linux
export ANDROID_SDK_ROOT=$SDK_ROOT
export ANDROID_SDK_HOME=$SDK_ROOT
export PATH=$PATH:$SDK_ROOT/tools:$SDK_ROOT/build-tools:$SDK_ROOT/platform-tools
创建桌面快捷方式
直接到/usr/share/applications/目录下复制想要穿件快捷方式的图标到桌面即可。
设置eclipse
设置背景色为绿豆沙
在敲代码时只需要输入tag然后回车就可以出现自己定义的一长串代码,可以根据自己的习惯自定义。
下载Android源码
- sudo apt-get install curl phablet-tools
- cd ~/Android/AndroidSrc_4.4
& ~/Android/AndroidSrc_4.4/repo
- repo init -u
-b android-4.4.4_r2
- repo sync
当然涉及google的东西都需要先搭梯子
下载了三天终于完成了。中途vpn断了几次,重新执行repo sync命令就会继续拉代码。
源码下载完成后就开始编译吧,首先得配置编译环境,我的环境为Ubuntu 14.04 LTS 64位,Android-4.4.4_r2,执行下面的命令安装一些编译需要的工具
sudo apt-get install -y git-core gnupg flex bison gperf build-essential sshpass zip curl zlib1g-dev libc6-dev lib32ncurses5-dev lib32z1 lzop x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libxext-doc:i386
libx11-dev:i386 libreadline6-dev:i386
libncurses5-dev:i386 zlib1g-dev:i386 mesa-common-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
在上述环境的配置后,在源码根目录执行
我的电脑最大线程数为4,双核的
上班回来就看到编译成功,说明上述的环境配置还是不错的,当然上述安装的工具中,可能有几个是编译不需要的,但是为了效率就没有找出哪些没用。Android环境搭建就到此为止!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1954461次
积分:10288
积分:10288
排名:第1168名
原创:120篇
转载:28篇
评论:40条
难度:初级
类型:技巧分享
微博:brian512
阅读:70407
(4)(4)(12)(1)(6)(5)(5)(5)(5)(5)(1)(2)(1)(2)(3)(5)(4)(9)(14)(4)(56)

我要回帖

更多关于 ubuntu安装交叉编译器 的文章

 

随机推荐