- 浏览: 1482374 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (419)
- XMPP (19)
- Android (180)
- Java (59)
- Network (4)
- HTML5 (13)
- Eclipse (9)
- SCM (23)
- C/C++ (4)
- UML (4)
- Libjingle (15)
- Tools&Softwares (29)
- Linphone (5)
- Linux&UNIX (6)
- Windows (18)
- Google (10)
- MISC (3)
- SIP (6)
- SQLite (5)
- Security (4)
- Opensource (29)
- Online (2)
- 文章 (3)
- MemoryLeak (10)
- Decompile (5)
- Ruby (1)
- Image (1)
- Bat (4)
- TTS&ASR (28)
- Multimedia (1)
- iOS (20)
- Asciiflow - ASCII Flow Diagram Tool.htm (1)
- Networking (1)
- DLNA&UPnP (2)
- Chrome (2)
- CI (1)
- SmartHome (0)
- CloudComputing (1)
- NodeJS (3)
- MachineLearning (2)
最新评论
-
bzhao:
点赞123!
Windows的adb shell中使用vi不乱码方法及AdbPutty -
wahahachuang8:
我觉得这种东西自己开发太麻烦了,就别自己捣鼓了,找个第三方,方 ...
HTML5 WebSocket 技术介绍 -
obehavior:
view.setOnTouchListenerview是什么
[转]android 一直在最前面的浮动窗口效果 -
wutenghua:
[转]android 一直在最前面的浮动窗口效果 -
zee3.lin:
Sorry~~
When I build "call ...
Step by Step about How to Build libjingle 0.4
Running "adb shell procrank
":
root@android:/ # procrank PID Vss Rss Pss Uss cmdline 291 119848K 102340K 59883K 44488K system_server 367 69460K 69020K 42641K 40928K com.android.launcher 2884 72216K 71844K 39865K 27524K system_server 1522 49812K 49676K 23367K 21980K com.android.settings 2536 47792K 47640K 21599K 20444K com.sec.android.app.music
VSS | Virtual Set Size: how much virtual memory associated with process |
RSS | Resident Set Size: how much physical pages allocated for the process. Pages shared between processes are counted multiple times |
PSS | Proportional Set Size. Take the RSS number but evenly distribute shared pages among the sharing processes. For example, if three processes are sharing 3MB, each process gets 1MB in PSS. |
USS | Also known as Private Dirty, which is basically the amount of RAM inside the process that can not be paged to disk (it is not backed by the same data on disk), and is not shared with any other processes. |
Reference: How to discover memory usage of my application in Android
Terms
- VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
- RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存)
- PSS - Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
- USS - Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)
一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS
Overview
The aim of this post is to provide information that will assist in interpreting memory reports from various tools so the true memory usage for Linux processes and the system can be determined.
Android has a tool called procrank (/system/xbin/procrank), which lists out the memory usage of Linux processes in order from highest to lowest usage. The sizes reported per process are VSS, RSS, PSS, and USS.
For the sake of simplicity in this description, memory will be expressed in terms of pages, rather than bytes. Linux systems like ours manage memory in 4096 byte pages at the lowest level.
VSS (reported as VSZ from ps) is the total accessible address space of a process . This size also includes memory that may not be resident in RAM like mallocs that have been allocated but not written to . VSS is of very little use for determing real memory usage of a process.
RSS is the total memory actually held in RAM for a process . RSS can be misleading, because it reports the total all of the shared libraries that the process uses, even though a shared library is only loaded into memory once regardless of how many processes use it . RSS is not an accurate representation of the memory usage for a single process.
PSS differs from RSS in that it reports the proportional size of its shared libraries , i.e. if three processes all use a shared library that has 30 pages, that library will only contribute 10 pages to the PSS that is reported for each of the three processes. PSS is a very useful number because when the PSS for all processes in the system are summed together, that is a good representation for the total memory usage in the system. When a process is killed, the shared libraries that contributed to its PSS will be proportionally distributed to the PSS totals for the remaining processes still using that library. In this way PSS can be slightly misleading, because when a process is killed, PSS does not accurately represent the memory returned to the overall system.
USS is the total private memory for a process, i.e. that memory that is completely unique to that process . USS is an extremely useful number because it indicates the true incremental cost of running a particular process. When a process is killed, the USS is the total memory that is actually returned to the system. USS is the best number to watch when initially suspicious of memory leaks in a process.
For systems that have Python available, there is also a nice tool called smem that will report memory statistics including all of these categories.
# procrank
procrank
PID Vss Rss Pss Uss cmdline
481 31536K 30936K 14337K 9956K system_server
475 26128K 26128K 10046K 5992K zygote
526 25108K 25108K 9225K 5384K android.process.acore
523 22388K 22388K 7166K 3432K com.android.phone
574 21632K 21632K 6109K 2468K com.android.settings
521 20816K 20816K 6050K 2776K jp.co.omronsoft.openwnn
474 3304K 3304K 1097K 624K /system/bin/mediaserver
37 304K 304K 289K 288K /sbin/adbd
29 720K 720K 261K 212K /system/bin/rild
601 412K 412K 225K 216K procrank
1 204K 204K 185K 184K /init
35 388K 388K 182K 172K /system/bin/qemud
284 384K 384K 160K 148K top
27 376K 376K 148K 136K /system/bin/vold
261 332K 332K 123K 112K logcat
33 396K 396K 105K 80K /system/bin/keystore
32 316K 316K 100K 88K /system/bin/installd
269 328K 328K 95K 72K /system/bin/sh
26 280K 280K 93K 84K /system/bin/servicemanager
45 304K 304K 91K 80K /system/bin/qemu-props
34 324K 324K 91K 68K /system/bin/sh
260 324K 324K 91K 68K /system/bin/sh
600 324K 324K 91K 68K /system/bin/sh
25 308K 308K 88K 68K /system/bin/sh
28 232K 232K 67K 60K /system/bin/debuggerd
#
发表评论
-
JAAS authentication in Tomcat example
2018-11-19 20:32 487... -
druid 数据库密码加密
2015-03-12 17:43 1351cmd命令:1、切换的druid-0.2.9.jar包所在目 ... -
[Android] 为Android安装BusyBox —— 完整的bash shell
2013-12-27 10:19 1413http://www.cnblogs.com/xiaowen ... -
Windows的adb shell中使用vi不乱码方法及AdbPutty
2013-12-27 10:17 7395http://www.veryhuo.com/down/ht ... -
AppMobi推出新XDK,可创建测试PhoneGap项目
2012-09-03 13:39 2533AppMobi今天发布了一个新的工具PhoneGap Mobi ... -
Sencha
2012-09-03 12:59 1140http://www.sencha.com/ Se ... -
jQuery Mobile学习
2012-09-01 12:33 1629使用Jquery Mobile设计Android通讯录 ... -
BackBone
2012-09-01 12:34 1221Backbone.js 是一种重量级javascript M ... -
jQTouch
2012-08-30 15:57 939A Zepto/jQuery plugin for mobil ... -
SwiFTP
2012-08-30 15:43 1243SwiFTP is a FTP server that run ... -
kWS
2012-08-30 15:41 1147kWS is a lightweight and fast W ... -
jQuery Mobile
2012-08-30 15:07 976http://jquerymobile.com/ -
PhoneGap
2012-08-30 15:07 995http://phonegap.com/ -
Android Button background image pressed/highlighted and disabled states without
2012-08-06 12:49 1625http://shikii.net/blog/android- ... -
[AndriodTips]Image, saved to sdcard, doesn't appear in Android's Gallery app
2012-08-04 16:15 1112http://stackoverflow.com/questi ... -
Voice detection for Android
2012-07-23 11:39 2297Here it is, my fist JAVA applic ... -
[AndroidTip]local reference table overflow (max=512)的错误解决
2012-07-22 22:56 5952JNI层coding经常会遇到ReferenceTable o ... -
[AndroidTip]EditText如何初始状态不获得焦点?
2012-07-22 15:35 1184最简单的办法是在EditText前面放置一个看不到的Linea ... -
[AndroidTip]android textview滚动条
2012-07-21 14:29 1259本来是想做一个显示文字信息的,当文字很多时View的高度不能超 ... -
Google公布Android 4.1完整功能
2012-07-16 09:48 3138http://www.android.com/about/je ...
相关推荐
在Android的应用开发中,我们会...2.bugreport命令这个命令也非常简单,但是在实际应用中非常有用,会有从开机之后详细的dumpsys,dumpstate和logcat信息,是一份完整的日志记录。对分析用户行为,异常信息,系统状态有
dumpstate 清除一个文件的状态. logcat []... []... 启动信息日志并且但因输出到屏幕上. dmesg 输出主要的调试信息到屏幕上. start 启动或重启一个模拟器/设备实例. stop 关闭一个模拟器/设备实例.
dumpState使用Timber日志 用法 我使用jitpack上传我的库,因此您将其放在根buildscript中: allprojects { repositories { jcenter() maven { url " https://jitpack.io " } } } 比模块buildscript中的要多...
学生课程实验:大二计算机专业JAVA专业课的课程实验,设计一个CRM的客户关系管理系统,含项目源码、数据库、以及汇报PPT。 内容目录: ├── readme.txt ├── 基于Java的CRM客户关系管理系统的设计和实现数据库 │ └── crm.sql ├── 基于Java的CRM客户关系管理系统的设计和实现项目源代码 │ └── MyCrm.zip ├── 基于Java的CRM客户关系管理系统的设计和实现项目运行截图 │ ├── 主界面.PNG │ ├── 产品信息管理.PNG │ ├── 客户信息添加.PNG │ ├── 登录.PNG │ └── 角色管理.PNG ├── 视频 │ ├── 1CRM客户关系管理系统_项目的配置以及启动.url │ ├── 2CRM客户关系管理系统_工作桌面_信息中心_邮箱功能_客户管理_订单管理.url │ └── 3CRM客户关系管理系统_财务管理_产品管理_部门管理_岗位管理_数据回收站_权限管.url └── 论文 ├── 基于Java的现代数字化CRM客户关系管理系统答辩ppt.pptx
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
常见移动变现术语(mobile monetization).docx
废物转运站:决策指南
冰蓄冷的一些资料:包括系统的原理图,设计计算等
配套资源
开源 【蓝桥杯嵌入式】第七届省赛 - 模拟液位检测告警系统
本代码是基于DTW(动态时间规则)算法以及GMM(混合高斯模型)进行的说话人识别的程序。 现在大部分的说话人识别模型是基于MFCC的混合高斯模型设计的,但基于此的识别方式会受说话人之间相互模仿的影响,所以增加了一种特征参数,基音周期。 基因周期包含了语音频率结构信息,不易模仿。同时若直接对高斯混合模型进行解混会使识别速度很慢,所以先用DTW再用GMM可以极大地缩减识别时间。 注意:此代码仅为说话人识别代码,如需进行语音文件录制请自行添加面。 为了使使用更加条理清晰,建议后续添加说话人按照freespeech中已经建成的文件夹为模板并分类存放说话人语音文件,将对应说话人的语音文件保存在对应的文件夹中。 此建议仅为使使用者更加条理清晰,语音文件也可直接存放在freespeech文件夹中。 确认电脑安装配置了voicebox后,直接运行test4.m文件,会出现gui界面,接下来的操作,根据界面提示进行即可。 重新训练数据库,可在上述运行界面中删除数据库后重新训练即可,也可只知删除部分人的数据。 程序使用许先建立数据库。录制的语音时间太长会使程序生成数据库和数据比对的时间加长,请耐
Honeywell BR-310 条形码扫描器手册
QT6实现的附带文件传输协议的串口终端 QT6实现的附带文件传输协议的串口终端
Unity是一个流行的跨平台游戏开发引擎,它允许开发者使用C#等语言创建2D和3D游戏。以下是一个Unity开发的基本入门教程: 1. 安装Unity 首先,你需要从Unity的官方网站下载并安装Unity Hub和Unity编辑器。Unity Hub是一个用于管理Unity版本和项目的工具。 2. 创建新项目 打开Unity Hub,点击“New”来创建一个新项目。选择你需要的Unity版本、模板(例如2D或3D)和其他设置。 3. 熟悉Unity界面 Unity的界面主要由以下几个部分组成: Hierarchy:显示场景中的所有游戏对象。 Project:显示项目的所有资源,如场景、模型、材质、脚本等。 Inspector:显示当前选中游戏对象的详细信息和属性。 Scene:显示当前场景的3D视图,你可以在这里编辑游戏对象。 Game:显示游戏运行时的视图。
基于MobileFaceNet的静默活体检测系统的设计与实现python源码+项目说明+模型.zip 1、代码 2、实验环境 Windows 10(64位) CPU:AMD Ryzen 7 5800H RAM:16G GPU:NVIDIA RTX3060 开发工具:IntelliJ IDEA以及PyCharm 相关配置及版本: Chrome 90.0.4430.212 SpringBoot 2.2.6 Java JDK8 MyBatis 2.1.1 Mysql 8.0.25 Python 3.8 pytorch 1.7.1 torchvision 0.8.2 numpy 1.18.5 tensorboard 2.4.1 pandas 1.2.3 cuda 11.0.2 cudnn 11.2 torch 1.8.1 torchvision 0.9.1 3、模型训练命令 python train.py 4、模型测试命令 python test.py 5、运行检测模块命令 python detect.py --source 0
金融产品营销方案设计33.docx
识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip识别说话人的性别和估计说话人的年龄 Matlab+MatlabGUI+SVM源码.zip
MySQL数据库作为一个广泛使用的开源关系型数据库管理系统,它在Web开发、数据管理和企业级应用中扮演着重要角色。以下是对MySQL数据库实战教程、案例及相关项目的描述: MySQL数据库实战教程: 教程目的:教程旨在教授学习者如何高效地使用MySQL进行数据存储、查询、更新和管理。通过实战案例,学习者将掌握数据库设计、SQL语言的高级应用、性能优化等关键技能。 核心内容: 数据库设计:学习关系型数据库的设计原则,包括实体关系模型、规范化理论等。 SQL语言:深入理解SQL语句的编写,包括数据的增删改查(CRUD)操作。 数据类型与索引:掌握MySQL支持的数据类型以及如何设计索引以提高查询效率。 存储引擎:了解不同的存储引擎如InnoDB、MyISAM的特性及其适用场景。 性能优化:学习如何分析查询性能并进行优化,包括查询重写和数据库调优。 实战案例: 案例一:电商数据库管理:设计一个电商网站的数据库,实现商品展示、用户登录、购物车管理等功能。 案例二:金融交易系统:构建一个金融交易数据库,模拟交易记录的存储和查询,包括实时数据分析。 案例三:社交网络平台:开发一个社交网络
b0900febba0972d39e8ab81732d7a34c.mp3