嵌入式开发者社区
标题:
如何查看syslink 组件使用共享内存的情况
[打印本页]
作者:
vtinf
时间:
2016-9-29 11:57
标题:
如何查看syslink 组件使用共享内存的情况
您好, 在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
6 u2 ^7 f, J8 }7 X9 C
root@tl:~# ipcs -l
4 v5 g9 c" j( Y( D6 u s( D
4 G) h- [ n9 r* k* U6 r0 w
------ Shared Memory Limits --------
7 _' U9 K1 B8 ], }7 K
max number of segments = 4096
- Q8 B7 j! h ^6 A. l! `" j# s
max seg size (kbytes) = 32768
1 f7 J Q$ p( X' s
max total shared memory (kbytes) = 8388608
0 X! b( H* o7 Z- D6 Q
min seg size (bytes) = 1
3 X+ T8 g1 i" K% i2 w
9 U2 ?5 L8 J9 |6 q4 G) C' M
------ Semaphore Limits --------
( Z/ P) _' m0 _! R) h% {7 J0 j/ C- e2 V$ _! a
max number of arrays = 128
; y0 A9 m* P! x5 ?8 w! J% S
max semaphores per array = 250
9 r* c2 {) _/ B7 p& g
max semaphores system wide = 32000
4 Q' d" R" p/ u6 d" t8 e
max ops per semop call = 32
3 q' u+ h; a) U, W2 B( P
semaphore max value = 32767
6 T9 [, X" ^1 U; }" D& g
- `, F0 M) f$ ?
------ Messages Limits --------
- ^" I' y$ }( y8 {8 P1 k
max queues system wide = 178
' `! p k, M( f$ i( u9 W6 a
max size of message (bytes) = 8192
6 T X* q" i: g# G
default max size of queue (bytes) = 16384
& F( R( b/ i3 n* ?+ T( @
* d5 w- w1 {: G! u `* Y
2 x: f. y$ F& P4 ^, |) d
但是,用ipcs -a
8 j5 X6 \4 b7 l+ [
root@tl:~# ipcs -a
6 u9 }' u& f: U8 P8 P A4 Z
' d8 c2 F) O; J/ B% n& O7 ?9 M1 V
------ Shared Memory Segments --------
8 m2 d' [4 t9 K, ?# _7 E8 _" @
key shmid owner perms bytes nattch status
8 E# [# Q3 W3 R2 M) }6 x
0x00000000 0 root 600 1024 1 dest
: s. [# p- A2 h! F
0x00000000 196609 root 600 1024 1 dest
( {9 w0 e7 i: S$ C4 _
]0 S+ D6 `& A4 e) o
------ Semaphore Arrays --------
$ W* z/ N% e# S' N
key semid owner perms nsems
: t+ |: j' v/ g8 W( I! \
0x6411074d 0 root 600 1
( _) C7 M7 p3 }' K4 G
0x64110957 163841 root 600 1
3 X( {* v- x1 T$ k! X: t. J
0x641109a1 196610 root 600 1
2 b# d4 ^; w/ f7 d7 x' V& `+ Z( ]
3 D. u# y( B2 c7 T: z0 J0 P7 y+ f
------ Message Queues --------
& n; n( C, E4 _; L: P1 K$ {
key msqid owner perms used-bytes messages
4 a& c" d. E& \$ Q
9 j; i& t7 m: G
) g, R8 v! C0 ^- P6 h5 p0 U+ X3 c
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18); 远大于1024BYTE ,请问为什么?
/ y1 ?; a9 s# {: ?4 Z3 m
5 k/ a4 Q% U9 A$ a
作者:
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