嵌入式开发者社区
标题:
如何查看syslink 组件使用共享内存的情况
[打印本页]
作者:
vtinf
时间:
2016-9-29 11:57
标题:
如何查看syslink 组件使用共享内存的情况
您好, 在使用OMAPL138 evm过程中,我使用了MessageQ和ringIO来传输数据。利用ipcs -l ,情况如下:
$ L/ R4 R. i4 q0 [* Y0 D; c
root@tl:~# ipcs -l
+ i! f6 Z$ C, c" Z: x
" f* [9 B7 G, z8 T) Q0 V
------ Shared Memory Limits --------
8 ~6 I' K9 E! N/ G7 J2 C
max number of segments = 4096
0 I' l2 V' {. R E
max seg size (kbytes) = 32768
! g$ b4 X& t+ G" C$ U7 R1 o
max total shared memory (kbytes) = 8388608
5 S$ q% f' @6 t% C) {! ~$ l' }# i
min seg size (bytes) = 1
: `0 x! B! h1 @5 ~8 i
! S! L" z4 t" j6 o5 w. P; p
------ Semaphore Limits --------
6 G L/ h: X# E3 G
max number of arrays = 128
5 B) @' u0 I! h, ]
max semaphores per array = 250
- @* v% _+ O2 U
max semaphores system wide = 32000
1 _% q$ p+ b& S, N
max ops per semop call = 32
9 \: w( p/ G ]" ]! }, |4 f! i
semaphore max value = 32767
6 d% P/ a8 k8 p5 p% t/ E
# W2 {1 S: n' K( g/ ~4 R
------ Messages Limits --------
2 w7 u$ n, N+ n( g" b+ ~5 n5 ?! F- l
max queues system wide = 178
3 v2 Q3 D+ k, @! r1 O- J) J/ \
max size of message (bytes) = 8192
- T8 m* q) U9 [+ X( R
default max size of queue (bytes) = 16384
* z) Y2 n& l" P" Q) _6 z& G
" |6 e8 |4 N+ o2 q7 ~& X
% W3 m$ L0 u) s4 o
但是,用ipcs -a
2 `1 K( \2 ?. J) y
root@tl:~# ipcs -a
8 G' S* M! [9 e5 Y
# a- ~5 \# r! Z, S% v) ^
------ Shared Memory Segments --------
8 c5 S- M: Y0 m* d1 `
key shmid owner perms bytes nattch status
& i' g% ^* g4 C# |
0x00000000 0 root 600 1024 1 dest
3 p- w, M* i8 @% p! s9 N; i8 P
0x00000000 196609 root 600 1024 1 dest
- H) v7 P; J! S) C% f6 p* Q! ^
& Z9 @1 Q6 k/ W- G( [5 `. {/ w0 ?; A; b
------ Semaphore Arrays --------
6 Z& I, \1 B/ L
key semid owner perms nsems
* T! ~! } `% i* q4 m1 Z
0x6411074d 0 root 600 1
! Q- r+ N: X1 I4 y( C6 t
0x64110957 163841 root 600 1
# B' c8 p" b+ Y
0x641109a1 196610 root 600 1
$ C) i, X- @5 f0 @) W# @9 i& D2 r
5 e* T* A2 u& T; T
------ Message Queues --------
8 ~' M& h1 B3 ^* W+ d/ d6 m3 X
key msqid owner perms used-bytes messages
) L5 S, w I1 B* e& g: |* V) y
, |0 L9 }6 k9 s+ }. h
7 C1 U/ c7 t7 S/ V" P: k" b" I
请问,我的共享内存使用大小为 (float *)ring_buffer_acquired(ad->buffer, 2320 * sizeof(float)*18); 远大于1024BYTE ,请问为什么?
) A7 X4 z# j7 I6 O/ N) \" i
# v- {, R7 ~; C, w2 B4 r3 d
作者:
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