如何查看syslink 组件使用共享内存的情况 - OMAP-L138 - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6158|回复: 2
打印 上一主题 下一主题

[已解决] 如何查看syslink 组件使用共享内存的情况

[复制链接]

32

主题

54

帖子

1263

积分

金牌会员

Rank: 6Rank: 6

积分
1263
跳转到指定楼层
楼主
发表于 2016-9-29 11:57:23 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
您好,        在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:5 Q; L6 k( |: D# g
root@tl:~# ipcs -l" ?. k: Y9 s6 U
8 N+ u' ~" ^+ S$ u. Y+ y! @; _
------ Shared Memory Limits --------
: N( w' g" C0 U$ `6 Zmax number of segments = 4096
* u! a, ]1 r1 p, L* j& zmax seg size (kbytes) = 32768. n4 i; t8 M2 r8 F1 {4 V
max total shared memory (kbytes) = 8388608
& y) }8 {  n6 c& W; wmin seg size (bytes) = 1( `; E* ^. |' C6 m3 Q6 G# H

3 {" O# x$ ~  O" [! N. {, X' K------ Semaphore Limits --------
4 y* `: D  Z. ^2 @: Fmax number of arrays = 128) N* u7 [6 \( [$ A: M1 z+ O
max semaphores per array = 250
. N5 Z4 u- ]* j* M9 F8 [max semaphores system wide = 32000
6 D  T% c) ?. X5 h) B0 omax ops per semop call = 32
4 i: v: N0 g* v$ R2 i6 nsemaphore max value = 32767; T8 V9 B# H$ O1 x# O. H

! y! t+ d7 l/ Q8 v* h; C6 q------ Messages Limits --------% B# }  S$ v  O3 M8 C: u4 `2 R
max queues system wide = 178
0 M5 W) y% M3 a' \3 t0 `max size of message (bytes) = 8192( \8 T) T: u5 {) Y/ [
default max size of queue (bytes) = 16384+ `3 \! w% g5 z
* Z/ w0 r4 d4 {! \( M' a- }2 Q

* e3 z. T) J- k4 `2 ~但是,用ipcs -a , ?$ o' G2 e; M  n% \- m8 ^
root@tl:~# ipcs -a
! G+ E+ g+ p. G/ a. j  w4 B5 I1 u- @' N, w7 _( B
------ Shared Memory Segments --------
8 O; _+ ~  G, ]- Z% L% {key        shmid      owner      perms      bytes      nattch     status      ( n  g1 F8 f' D+ F
0x00000000 0          root       600        1024       1          dest         4 b, @. d1 c: X# i5 f; ^/ Y6 T
0x00000000 196609     root       600        1024       1          dest         
0 L8 S9 [9 }! {1 {: ]) N( K
: c& K0 X" P+ L; O, p) l! E, |------ Semaphore Arrays --------
3 u0 w  b& C6 ^; e& kkey        semid      owner      perms      nsems     " f3 n, x! u* R4 }
0x6411074d 0          root       600        1         % u( M. L' u, t. D! q5 P
0x64110957 163841     root       600        1         
+ M" k- o, _7 C; n9 v/ k2 e" z0x641109a1 196610     root       600        1         8 L4 q* H* u7 O

/ i: V5 g3 Z6 j------ Message Queues --------
1 J$ b$ ~3 ^/ ?! I5 V) W$ mkey        msqid      owner      perms      used-bytes   messages   4 U/ }% N9 a- a2 m& c: O+ c0 u* Y

% o. i: [1 g: U& P
6 O3 v2 F3 g7 {6 ~, t! N请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18);  远大于1024BYTE ,请问为什么?2 v' U5 }$ p3 W1 \( P7 a
. z2 j$ U, E) B0 B
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖
回复

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

积分
2125
板凳
发表于 2016-9-30 09:43:43 | 只看该作者
如果是在 8148 上,可以使用 sys_top 命令来查看多核之间的共享内存情况,但 138 不支持。
回复 支持 反对

使用道具 举报

0

主题

113

帖子

2125

积分

创龙

Rank: 8Rank: 8

积分
2125
沙发
发表于 2016-9-30 09:27:35 | 只看该作者
ipcs 查看的是 Linux 进程间通信的 ipc 资源,而 syslink 所使用的共享内存,并不属于 linux 的,它是 arm 和 dsp 之间的共享内存,通过 syslink 组件访问。或者 linux  下 mmap 也可以。但是 ipcs 无法查询。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2025-11-16 12:31 , Processed in 0.044902 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表