嵌入式开发者社区
标题:
如何查看syslink 组件使用共享内存的情况
[打印本页]
作者:
vtinf
时间:
2016-9-29 11:57
标题:
如何查看syslink 组件使用共享内存的情况
您好, 在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
9 d0 L3 F ~; y% r- P; q( d
root@tl:~# ipcs -l
1 @$ `0 [" S& [ }9 J1 S0 I
0 `1 t. b+ S( _" x+ N( B" @
------ Shared Memory Limits --------
4 Z, [. Y x( v1 `& N( y8 A9 Y
max number of segments = 4096
$ E" I+ i( T7 K
max seg size (kbytes) = 32768
2 @0 i( P' k8 h4 D7 A! M. Q/ t
max total shared memory (kbytes) = 8388608
8 d# ]/ s6 Y# o$ `6 x$ g4 \
min seg size (bytes) = 1
, f4 Q' B! ^ e% m# ]; E
) h- F0 Y ?2 A( |4 m( m
------ Semaphore Limits --------
1 C' M( C4 _8 M- O) e! g
max number of arrays = 128
9 s; b- r) y, ^; y- F4 l& s
max semaphores per array = 250
; r3 H$ |8 Q r% Y! z) t; C8 A5 t
max semaphores system wide = 32000
6 G! y5 |# P) Y) O, t0 u+ |, |
max ops per semop call = 32
* M0 Z3 Y* d& A r! S$ l
semaphore max value = 32767
( |5 l, Y$ T! }6 w9 c$ |; d# d
; D6 H! z$ @/ r5 C
------ Messages Limits --------
6 `- Y6 n/ z. F0 a
max queues system wide = 178
" A6 {. {) T. H/ S9 M
max size of message (bytes) = 8192
* E5 U2 ?( M" M9 F- t
default max size of queue (bytes) = 16384
! s4 l9 a& ?1 |& }% `
+ c( ?, O6 @1 W9 _* W
& H* b4 x' s/ @1 G
但是,用ipcs -a
' }9 g- d7 c& a j A
root@tl:~# ipcs -a
: g: a) Q# E+ J; ]# M, o' R2 E. j
3 h8 Z4 h% _8 S
------ Shared Memory Segments --------
1 U5 [. K5 N5 K+ m H) }/ {' G
key shmid owner perms bytes nattch status
" P% P8 p# P, c( {+ |2 x4 l8 a
0x00000000 0 root 600 1024 1 dest
& }/ i+ }# T1 E; N* D5 Y
0x00000000 196609 root 600 1024 1 dest
* u' P' _3 e9 Z/ Z7 L, n5 X* R
4 s, L) E1 ^3 C+ {) E
------ Semaphore Arrays --------
( Y+ z- C! C4 A. H5 O4 h* Q
key semid owner perms nsems
v+ b# ?- w& x8 u' A& ?/ |
0x6411074d 0 root 600 1
: e5 M/ @/ w6 N+ @; B1 A
0x64110957 163841 root 600 1
# p( N8 A8 z3 M8 Z% J9 K
0x641109a1 196610 root 600 1
. S8 B1 b8 x; O6 A) J1 d
/ \5 N' L. i& P
------ Message Queues --------
; Z* l. C0 R0 ]" p I
key msqid owner perms used-bytes messages
2 h2 z3 C# h6 R! P
5 N j- q2 l6 Q2 `3 L: i: L' b8 G
: X! L8 m+ u! d4 j, {
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18); 远大于1024BYTE ,请问为什么?
+ f( t0 m2 t* h- X- j
. B3 n$ \1 S9 m& C5 M
作者:
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