嵌入式开发者社区
标题:
如何查看syslink 组件使用共享内存的情况
[打印本页]
作者:
vtinf
时间:
2016-9-29 11:57
标题:
如何查看syslink 组件使用共享内存的情况
您好, 在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
: X/ f2 g2 w, i/ R6 [5 ^$ m
root@tl:~# ipcs -l
7 {# s# u$ ?' \3 _1 }
* |3 w+ I' V6 i7 @# C3 P
------ Shared Memory Limits --------
5 S( j+ c1 B/ q$ ^9 m
max number of segments = 4096
9 v4 ~8 C- A P/ P! W" ^$ ~0 [
max seg size (kbytes) = 32768
; i* N! t4 R3 Y4 G
max total shared memory (kbytes) = 8388608
4 W' l7 O% q% r( V2 T- Z. b
min seg size (bytes) = 1
9 V* `+ ^* ]9 {* q& {8 \9 x$ A8 W
. M1 t1 o& p6 m! v( P
------ Semaphore Limits --------
! P2 T+ t8 ]5 v$ k
max number of arrays = 128
0 ^; @! v9 G7 j& v) C6 j
max semaphores per array = 250
' j) M0 I" s" q/ H
max semaphores system wide = 32000
6 B, h6 C! x4 H3 F! y4 E
max ops per semop call = 32
, s) D% W/ s! v3 Z m0 n. K q; {& _
semaphore max value = 32767
) E e+ b0 n4 n- V: N
3 N9 _- w8 K7 ]3 r: v* ]5 [* q) \
------ Messages Limits --------
# M- H5 G; p- \$ c" g! L. _
max queues system wide = 178
. e" `% Q' r6 q
max size of message (bytes) = 8192
; e7 l; U4 W2 I- A2 [: m
default max size of queue (bytes) = 16384
5 q. p. \0 ]* X
! ]* ^' e3 o( s" `8 I& R- E2 K; B
2 A: N l' U: ~
但是,用ipcs -a
& z9 R- O2 a# `+ t( `: _& F) P$ `9 P
root@tl:~# ipcs -a
8 k" t, f2 |. e* r8 `! o
' N8 \) |$ k- B' G; ~
------ Shared Memory Segments --------
; ^2 F* M9 W8 ?0 f1 X6 b; S6 c& {
key shmid owner perms bytes nattch status
; B5 O# Y: u2 y2 h0 p% |9 O
0x00000000 0 root 600 1024 1 dest
9 e( T/ G/ ?. T
0x00000000 196609 root 600 1024 1 dest
4 r/ c5 n: P. m' X/ a5 u% b9 r- ]% M+ b
# O, h7 m8 B3 y& {
------ Semaphore Arrays --------
( s2 x' M3 m: W# g3 }( `/ @! f
key semid owner perms nsems
( y! |* s. w/ ?; V, Q
0x6411074d 0 root 600 1
5 [5 t" B! @# G* L' m. p5 Z& e+ a
0x64110957 163841 root 600 1
. r) I* `" L3 f
0x641109a1 196610 root 600 1
# n' l3 @5 K5 _1 p8 w% m+ j+ @
5 d3 R W4 U, L: Y& H3 W
------ Message Queues --------
4 V/ w1 s% f( j" s
key msqid owner perms used-bytes messages
w5 B" Z4 Q7 L% v) k$ v* k$ j
# M& v& F; _: \
' u& j- g/ m) ]
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18); 远大于1024BYTE ,请问为什么?
7 H, O! D- | N" u
4 {7 h8 i% \( G) n
作者:
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://51dsp.net/)
Powered by Discuz! X3.4