Closed peipeiguo closed 4 years ago
Checked the /var/log/syslog
, it shows below:
Hi @peipeiguo , there is nothing wrong with your svt build and os. What happened here is memory needed by svt 8k encoding exceeds the available memory on your system. Similar issue can be found here: https://github.com/OpenVisualCloud/SVT-HEVC/issues/221
Hi @tianjunwork ,
Thanks for your kindly reply. I have checked that issue. The difference is I just run one 8K encoding task, but it still out of memory. For 8K, does svt must need 64G memory to work? Why svt need so much memory?
Thanks.
Yeah, #221 the encoder runs on Xeon 8180 112 logical cores, usually with very large RAM. I assume your platform is client pc with 2 logical cores, the RAM may not be very large?
Below shows the memory increase on my system when running 8K encode with SVT-HEVC. Around 24G usage.
$ free -m
total used free shared buff/cache available
Mem: 159880 2435 149910 145 7534 155027
Swap: 162520 1131 161389
$ free -m
total used free shared buff/cache available
Mem: 159880 26942 125402 145 7535 130519
Swap: 162520 1131 161389
The high speed encoding doesn't come for free. Encoder reads frames in and processes them in parallel. Since the input is 8k, it may drain memory on your system.
Hi @peipeiguo , anything else to discuss on this topic?
Hi @tianjunwork ,
I see, thanks for your detailed reply. I use VM on my PC, so the memory is not enough. By the way, is there any way to set the some options/parameters or change code to make SVT work on my VM? Of cource, I can accept the encoding speed goes down.
Thanks.
Yes, you can try -lp 1
which reduces the memory allocation and pins all processes on 1st logical core. You may also experiment with -lp 2
(since you have 2 logical cores on the platform).
I tried with -lp 1
and -thread-count 1
, it still got "killed".
Command line: SvtHevcEncApp -i 5_30.yuv -w 7680 -h 3840 -fps 30 -lp 1 -thread-count 1 -hierarchical-levels 0 -pred-struct 0 -intra-period 4 -irefresh-type 0 -vid-info 1 -rc 1 -tbr 62914560 -umv 0 -tile_slice_mode 1 -tile_row_cnt 12 -tile_col_cnt 12 -b 5_30.hevc
Maybe I can only expand My PC's memory...
Using -lp 1
, your command line takes about 16Gb memory, if it still got killed, you do need larger RAM.
Also, encoder can't fully perform its scalability with only two logical cores, You may consider upgrade to multi-core CPU also for speed critical task.
OK, will do that. Thank you :)
Hi all,
I got "killed" problem when executed SvtHevcEncApp to encode 8K yuv with tile. Does anyone know the reason? command line:
My env is:
I built SVT-HEVC with
./build.sh release shared install
and today's master.Thanks.