午夜稻草人

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  180 随笔 :: 0 文章 :: 8 评论 :: 26万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

摘要: 午夜稻草人传 话说一个阴森的午夜,很多人都会选择睡觉,因为午夜经常是怪兽出没的时候,经常有一些恐怖、灵异的事件发生,所以有“午夜凶铃”、“午夜杀人狂”、“午夜鬼敲门”、“午夜屠猪男”等可怕的传说。 在这种夜晚,没有人愿意出门,都躲在家里,尽量让自己进入梦乡或者抱紧身边的毛绒玩具(注:其实毛绒玩具是我 阅读全文
posted @ 2013-03-11 21:02 午夜稻草人 阅读(299) 评论(0) 推荐(0) 编辑

2024年12月26日

转:https://blog.csdn.net/learnframework/article/details/135020636

线程状态查看
深绿色 : 运行中(Running)
在Running状态就代表着处于cpu上的运行中
状态作用:看某个方法是否耗时,可以通过测量Running时间长短判断,也可以进行竞品对比看看cpu能力如何,或者前后对比各个大小核cpu影响方法的耗时
可以看到通过选中可以知道该任务是在哪个cpu进行运行的

 


浅绿色 : 可运行(Runnable)
代表线程可以运行但当前没有真正运行中,需要等待 cpu 调度,这个时间长短代表着cpu调度快慢
重要作用:点击Runnable这个块,下面信息会显示当前线程唤醒者是谁,即可以清楚知道整个线程之间唤醒逻辑。

 


白色/无色: 睡眠中(Sleeping)
代表当前线程没有工作可以做,等待事件驱动干货,比如looper就是大部分时间睡眠,小部分时间有消息后处理消息

 


橙色Uninterruptible Sleep (IO)
代表不可以中断的休眠状态,一般线程在IO操作上阻塞了
不可中断状态实际上是系统对进程和硬件设备的一种保护机制。比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的。

 


紫红色Uninterruptible Sleep (Non IO)
不可中断的休眠状态,非IO导致,在等内核锁。通常是低内存导致等待、各种各样的内核锁。

 

Uninterruptible情况都可以点击后看到blocked方法是哪个

Blocked function jbd2_log_wait_commit
1
各个部分区域详解
一般perfetto看trace时候都会针对某一个进程进行查看其运行,因为perfetto/systrace都是以进程为单位进行划分的,每个进程又分为若干个线程,接下来又是主要看一个个的线程情况。
线程一般会有2个条目,如下图所示:

 


上面条目描绘是这个线程当前的状态,最常见的有主要有Running,Runable,Sleeping等状态
下面条目就是描绘具体这个线程执行的哪些方法的任务块

1、线程状态信息,代表当前线程状态
在涉及到线程唤醒相关时候需要看这里

 

2、线程具体执行方法信息,描述有哪些方法正在执行执行
这个部分最重要,大部分时候其实都在看这个

 

3、Counter计数采样部分信息
这个部分和线程没啥关系,即不是说有单独一个线程在专门计数这个,可以理解为一个程序里面全局的一个变量值展示,比如在surfaceflinger的vsync时候就用到了


4、cpu执行块部分信息

 

主要有每个线程执行的任务块,和每个cpu的频率详情

5、async执行块部分信息
这个主要用于跟踪一个动画的开始与结束,比如ValueAnimator

 


一般对应代码如下:
Trace.asyncTraceBegin和Trace.asyncTraceEnd

 


相关perffto使用技巧
相关快捷按键和systrace通用:
W : 放大 perfetto , 放大可以更好地看清局部细节
S : 缩小 perfetto, 缩小以查看整体
A : 左移
D : 右移
M : 高亮选中当前鼠标点击的段

跨进程通讯的发起端与接受端跳转
同步跨进程情况:

 


发起端如下,也可以直接点击跳转到接收端

 


异步跨进程调用情况

 

注意这里只有个大的箭头,需要点击箭头看名字才可以判断是发送还是接收端

 

*
注意:发起端名字带有是transaction,接收端带有的rev*

置顶功能
有一个置顶按钮,点击后可以把这个行放到perfetto最顶端

 

点击后如下:

 


主要使用场景:
在一些分析trace过程中涉及多个行需要联合分析,多个行的距离太远,没办法方便的对比查看,这个时候可以把关心的几个行都进行置顶查看

标记功能功能

 

主要用于分析过程中的一些标记时间点段,以防找补回去

本文章对应视频手把手教你学framework:
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
私聊作者+v(androidframework007)
点击这里 https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频:https://www.bilibili.com/video/BV1Jg4y1C7fw/

 

posted @ 2024-12-26 15:31 午夜稻草人 阅读(87) 评论(0) 推荐(0) 编辑

2023年12月4日

摘要: 学习LangChain参考 https://python.langchain.com.cn/docs/get_started/quickstart https://python.langchain.com/v0.1/docs/integrations/llms/ollama/ https://wan 阅读全文
posted @ 2023-12-04 15:41 午夜稻草人 阅读(3016) 评论(0) 推荐(0) 编辑

摘要: 参考: https://blog.csdn.net/qq_34319660/article/details/126246351 基本上就是如下几步 启动环境 conda activate LLM_env 查看已安装路径 jupyter kernelspec list 安装ipykernel pip 阅读全文
posted @ 2023-12-04 15:33 午夜稻草人 阅读(66) 评论(0) 推荐(0) 编辑

摘要: 不同的模型需要的显存不同,下载前先查一下自己GPU能支持什么模型 1. 用如下脚本可以下载HuggingFace上的各种模型, 网址 https://huggingface.co/models download.py #coding=gbk import time from huggingface_ 阅读全文
posted @ 2023-12-04 15:23 午夜稻草人 阅读(9198) 评论(0) 推荐(0) 编辑

2023年10月12日

摘要: 参考 https://www.promptingguide.ai/zh 1. 清除之前对话上下文的干扰 新任务,不考虑之前的问答内容 2. 增加上下文信息,指定结果列表 ###上下文信息### #游戏列表# 王者荣耀,别名[王者] 和平精英, 别名[和平、pubg] LOL 原神 明日之后 金铲铲之 阅读全文
posted @ 2023-10-12 15:27 午夜稻草人 阅读(56) 评论(0) 推荐(0) 编辑

2023年9月4日

摘要: 更详细的说明:https://zhuanlan.zhihu.com/p/222865842 1. 查询中匹配特殊字符串 SELECT * FROM customer WHERE last_name LIKE 'b____y' % 代表任何数量的字符 _ 代表单个字符 SELECT * FROM cu 阅读全文
posted @ 2023-09-04 20:20 午夜稻草人 阅读(15) 评论(0) 推荐(0) 编辑

2023年8月20日

摘要: 读取数据中的时间 pd.read_csv('demo.csv' ,parse_dates = ['col1'] # 待转换为**datetime64[ns]**格式的列→col1 ,infer_datetime_format=True # 将parse_dates指定的列转换为时间 ) data = 阅读全文
posted @ 2023-08-20 16:54 午夜稻草人 阅读(33) 评论(0) 推荐(0) 编辑

2023年7月27日

摘要: 转载请注明出处:https://www.cnblogs.com/oceanicstar/p/10900332.html append方法可以很方便地拼接两个DataFrame df1.append(df2) > A B > 1 A1 B1 > 2 A2 B2 > 3 A3 B3 > 4 A4 B4 阅读全文
posted @ 2023-07-27 20:05 午夜稻草人 阅读(202) 评论(0) 推荐(0) 编辑

摘要: 一、先创造自己所需的conda环境 # 进入虚拟环境 activate tensorflow # 安装jupyter 和 notebook(这一步可能能省掉,没有测试,不确定) pip install jupyter notebook #安装ipykernel,并进行相关操作 pip install 阅读全文
posted @ 2023-07-27 11:23 午夜稻草人 阅读(263) 评论(0) 推荐(0) 编辑

2020年3月23日

摘要: 参考 https://www.skcript.com/svr/realtime-object-and-face-detection-in-android-using-tensorflow-object-detection-api/ https://www.cnblogs.com/zongfa/p/9 阅读全文
posted @ 2020-03-23 20:15 午夜稻草人 阅读(1847) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示