嵌入式开发者社区
标题:
如何查看syslink 组件使用共享内存的情况
[打印本页]
作者:
vtinf
时间:
2016-9-29 11:57
标题:
如何查看syslink 组件使用共享内存的情况
您好, 在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
# P" x! ?1 ~' D/ s \1 j% N U
root@tl:~# ipcs -l
4 a/ K" C% K0 E, [' W
c4 E, H9 _2 T; o! w9 M
------ Shared Memory Limits --------
, ^" I. z$ R$ u; f K" r/ w6 h6 J+ T
max number of segments = 4096
2 q: ^/ @6 r, p4 x8 u
max seg size (kbytes) = 32768
7 ]" K7 Z( _ m" C
max total shared memory (kbytes) = 8388608
* m: |8 E: l' B
min seg size (bytes) = 1
; W# d( ]0 ?& {1 l- V/ ^
2 j0 ]6 r# G) T1 u7 ~
------ Semaphore Limits --------
' d& N# O5 X6 ^5 ~6 v
max number of arrays = 128
1 s! v/ g9 B. x( L/ a
max semaphores per array = 250
. _: M/ x( h/ j3 m* O
max semaphores system wide = 32000
$ Q6 O" F- o& c; G
max ops per semop call = 32
, L0 C, p0 s" H! z1 s# r
semaphore max value = 32767
% R# y# ?" l5 U1 ]) u" g. \
1 \3 W0 H. W$ v' z+ t$ y/ n
------ Messages Limits --------
% X+ I# E- i" c' r, P
max queues system wide = 178
* l6 T8 _! h1 B6 ?0 w
max size of message (bytes) = 8192
$ }2 ]) N6 c. c% P9 Z* [
default max size of queue (bytes) = 16384
( r. M9 ]1 H/ \; W, \+ X6 s# E1 N
8 M; i' C/ H7 {5 h& [
* R5 t! k' I( Y
但是,用ipcs -a
) r& M- \, Z% J/ _& a# d/ _& o
root@tl:~# ipcs -a
7 ]/ H! ]8 x0 s* b! E4 F
4 m' ~! Z; O% |% X
------ Shared Memory Segments --------
6 ^; H# h' ?2 k; j) i U- N
key shmid owner perms bytes nattch status
8 T: ^8 _0 T6 L; R- Z: {% v
0x00000000 0 root 600 1024 1 dest
# @( b, k- t& v. m. e. H
0x00000000 196609 root 600 1024 1 dest
$ s9 _ x) Y& ]8 ~ K0 h% `9 h" p
* q* S/ Y% l$ @( i2 \7 h
------ Semaphore Arrays --------
" s+ d5 o& y5 M6 W0 v- S& J
key semid owner perms nsems
# k- s& U8 V# _ E& N4 E' U
0x6411074d 0 root 600 1
! w$ w3 @0 B2 O% h
0x64110957 163841 root 600 1
$ K! _/ N6 z1 H8 o6 [% v& e: Z
0x641109a1 196610 root 600 1
# S5 |- ]0 V, s
8 w& x7 L6 b4 B) L
------ Message Queues --------
1 t# L, @5 k1 e. m+ P% e; j) e
key msqid owner perms used-bytes messages
/ y, T" k! C& U8 N9 ?. |/ Q$ j' c
% W: h, \+ ?5 {' ^* g3 T
; @9 q4 _2 X! E
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18); 远大于1024BYTE ,请问为什么?
5 P, z4 k; K5 {+ b3 M+ [, K+ D* v
( k( h# j. P; Y, j( Y
作者:
Jackindata
时间:
2016-9-30 09:27
ipcs 查看的是 Linux 进程间通信的 ipc 资源,而 syslink 所使用的共享内存,并不属于 linux 的,它是 arm 和 dsp 之间的共享内存,通过 syslink 组件访问。或者 linux 下 mmap 也可以。但是 ipcs 无法查询。
作者:
Jackindata
时间:
2016-9-30 09:43
如果是在 8148 上,可以使用 sys_top 命令来查看多核之间的共享内存情况,但 138 不支持。
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4