Node / v8 1gb memory limit?

Bert遇到其Node应用在接近1GB内存使用时出现冻结现象的问题,怀疑与垃圾回收有关。Timothy分享了相似的经验,并提及大缓冲区可能导致大量内存消耗。两人希望了解Node或V8内存限制。

Node / v8 1gb memory limit?
(From google group: nodejs@googlegroup.com)

From:  Bert Belder <bertbel...@gmail.com>
Date:  Tue, 24 Aug 2010 15:29:25 -0700 (PDT)
Local:  Tues, Aug 24 2010 6:29 pm
Subject:  Node / v8 1gb memory limit?

For some reason my node application never uses more than 1 GB of
memory. When node's memory usage approaches 1GB long freezes start to
happen (I presume due to garbage collection), and after a while node
either dies with an out of memory error or freezes indefinitely.

I'm running 64-bit Ubuntu with around 3GB of physical memory free and
a ton of swap space available, so there's plenty left when this
problem occurs.

The only way to cross the 1GB boundary seems to be allocating big
buffers. However memory consumption is not a goal in itself :-) and in
my application using buffers is not an option.

Is the 1GB barrier something built-in to node or V8?
Do other people have similar experiences?

- Bert


 

From:  Timothy Caswell <t...@creationix.com>
Date:  Tue, 24 Aug 2010 15:31:33 -0700
Local:  Tues, Aug 24 2010 6:31 pm
Subject:  Re: [nodejs] Node / v8 1gb memory limit?

I've seen the same thing.  Like you said, buffers can eat tons of ram.  I've had an app using 13gb of buffer space and keep on trucking.  I too would like to know the limits here.



From:  Vitali Lovich <vlov...@gmail.com>
Date:  Tue, 24 Aug 2010 15:49:53 -0700
Local:  Tues, Aug 24 2010 6:49 pm
Subject:  Re: [nodejs] Node / v8 1gb memory limit?

I suspect that's a question for the v8 folk.  I think the best way may be to
create a simple v8 test case that allocates 1gb+ of an array.

 

$ yarn run start:dev1 Starting the development server... <--- Last few GCs ---> [16080:000001F75520CFC0] 63722 ms: Mark-sweep (reduce) 1936.8 (2072.3) -> 1936.6 (2066.1) MB, 376.4 / 0.0 ms (+ 3.7 ms in 1 steps since start of marking, biggest step 3.7 ms, walltime since start of marking 390 ms) (average mu = 0.221, current mu = 0.[16080:000001F75520CFC0] 64218 ms: Mark-sweep (reduce) 1936.6 (2066.1) -> 1936.6 (2060.3) MB, 496.0 / 0.0 ms (average mu = 0.118, current mu = 0.000) allocation failure; GC in old space requested <--- JS stacktrace ---> FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory 1: 00007FF670311ADF node_api_throw_syntax_error+203775 2: 00007FF6702914B6 SSL_get_quiet_shutdown+63558 3: 00007FF670292822 SSL_get_quiet_shutdown+68530 4: 00007FF670D32F34 v8::Isolate::ReportExternalAllocationLimitReached+116 5: 00007FF670D1E2A2 v8::Isolate::Exit+674 6: 00007FF670BA02FC v8::internal::EmbedderStackStateScope::ExplicitScopeForTesting+124 7: 00007FF670BAD5DD v8::internal::Heap::PublishPendingAllocations+1117 8: 00007FF670BAA667 v8::internal::Heap::PageFlagsAreConsistent+3367 9: 00007FF670B9CD97 v8::internal::Heap::CollectGarbage+2039 10: 00007FF670B9BED2 v8::internal::Heap::CollectAllAvailableGarbage+130 11: 00007FF670BB404D v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlow wPath+173 12: 00007FF670BBC94A v8::internal::Factory::AllocateRaw+810 13: 00007FF670BCFD8D v8::internal::FactoryBase<v8::internal::Factory>::NewHeapNu umber<0>+685 14: 00007FF670BD4238 v8::internal::FactoryBase<v8::internal::Factory>::NewRawTwo oByteString+72 15: 00007FF67097BF94 v8::internal::String::SlowFlatten+724 16: 00007FF670D3CB4D v8::String::Utf8Length+141 17: 00007FF6702B6971 v8::internal::Malloced::operator delete+17217 18: 00007FF670CEBAAD v8::internal::Builtins::code+247949 19: 00007FF670CEB6B9 v8::internal::Builtins::code+246937 20: 00007FF670CEB97C v8::internal::Builtins::code+247644 21: 00007FF670CEB7E0 v8::internal::Builtins::code+247232 22: 00007FF670DD06C1 v8::internal::SetupIsolateDelegate::SetupHeap+558449 23: 00007FF5F1C87790 error Command failed with exit code 134. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this comm mand. 这个报错什么问题
08-19
lixing@lixing:~/1/Fast-LIO2$ bash ./run_ego_planner.sh [START] Ego_Planner_Swarm_V1 Drone 0 autonomous run in max_vel 1.0 max_acc:=1.0 ... logging to /home/lixing/.ros/log/073dfb40-8314-11f0-8ffb-0145177117b2/roslaunch-lixing-16746.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt WARNING: disk usage in log directory [/home/lixing/.ros/log] is over 1GB. It's recommended that you use the 'rosclean' command. started roslaunch server http://lixing:43545/ SUMMARY ======== PARAMETERS * /ego_planner_node/bspline/limit_acc: 0.5 * /ego_planner_node/bspline/limit_ratio: 1.1 * /ego_planner_node/bspline/limit_vel: 0.3 * /ego_planner_node/fsm/emergency_time_: 1.0 * /ego_planner_node/fsm/flight_type: 1 * /ego_planner_node/fsm/planning_horizen_time: 3.0 * /ego_planner_node/fsm/planning_horizon: 7.5 * /ego_planner_node/fsm/thresh_no_replan: 2.0 * /ego_planner_node/fsm/thresh_replan: 1.5 * /ego_planner_node/fsm/waypoint0_x: -15.0 * /ego_planner_node/fsm/waypoint0_y: 0.0 * /ego_planner_node/fsm/waypoint0_z: 1.0 * /ego_planner_node/fsm/waypoint1_x: 0.0 * /ego_planner_node/fsm/waypoint1_y: 15.0 * /ego_planner_node/fsm/waypoint1_z: 1.0 * /ego_planner_node/fsm/waypoint2_x: 15.0 * /ego_planner_node/fsm/waypoint2_y: 0.0 * /ego_planner_node/fsm/waypoint2_z: 1.0 * /ego_planner_node/fsm/waypoint3_x: 0.0 * /ego_planner_node/fsm/waypoint3_y: -15.0 * /ego_planner_node/fsm/waypoint3_z: 1.0 * /ego_planner_node/fsm/waypoint4_x: -15.0 * /ego_planner_node/fsm/waypoint4_y: 0.0 * /ego_planner_node/fsm/waypoint4_z: 1.0 * /ego_planner_node/fsm/waypoint_num: 5 * /ego_planner_node/grid_map/cx: 321.04638671875 * /ego_planner_node/grid_map/cy: 243.44969177246094 * /ego_planner_node/grid_map/depth_filter_margin: 1 * /ego_planner_node/grid_map/depth_filter_maxdist: 5.0 * /ego_planner_node/grid_map/depth_filter_mindist: 0.2 * /ego_planner_node/grid_map/depth_filter_tolerance: 0.15 * /ego_planner_node/grid_map/frame_id: world * /ego_planner_node/grid_map/fx: 387.229248046875 * /ego_planner_node/grid_map/fy: 387.229248046875 * /ego_planner_node/grid_map/ground_height: -0.01 * /ego_planner_node/grid_map/k_depth_scaling_factor: 1000.0 * /ego_planner_node/grid_map/local_map_margin: 30 * /ego_planner_node/grid_map/local_update_range_x: 5.5 * /ego_planner_node/grid_map/local_update_range_y: 5.5 * /ego_planner_node/grid_map/local_update_range_z: 4.5 * /ego_planner_node/grid_map/map_size_x: 40.0 * /ego_planner_node/grid_map/map_size_y: 40.0 * /ego_planner_node/grid_map/map_size_z: 3.0 * /ego_planner_node/grid_map/max_ray_length: 4.5 * /ego_planner_node/grid_map/min_ray_length: 0.1 * /ego_planner_node/grid_map/obstacles_inflation: 0.099 * /ego_planner_node/grid_map/p_hit: 0.65 * /ego_planner_node/grid_map/p_max: 0.9 * /ego_planner_node/grid_map/p_min: 0.12 * /ego_planner_node/grid_map/p_miss: 0.35 * /ego_planner_node/grid_map/p_occ: 0.8 * /ego_planner_node/grid_map/pose_type: 2 * /ego_planner_node/grid_map/resolution: 0.1 * /ego_planner_node/grid_map/show_occ_time: False * /ego_planner_node/grid_map/skip_pixel: 2 * /ego_planner_node/grid_map/use_depth_filter: True * /ego_planner_node/grid_map/virtual_ceil_height: 2.5 * /ego_planner_node/grid_map/visualization_truncate_height: 2.4 * /ego_planner_node/manager/control_points_distance: 0.4 * /ego_planner_node/manager/feasibility_tolerance: 0.05 * /ego_planner_node/manager/max_acc: 0.5 * /ego_planner_node/manager/max_jerk: 4.0 * /ego_planner_node/manager/max_vel: 0.3 * /ego_planner_node/manager/planning_horizon: 7.5 * /ego_planner_node/optimization/dist0: 0.5 * /ego_planner_node/optimization/lambda_collision: 0.5 * /ego_planner_node/optimization/lambda_feasibility: 0.1 * /ego_planner_node/optimization/lambda_fitness: 1.0 * /ego_planner_node/optimization/lambda_smooth: 1.0 * /ego_planner_node/optimization/max_acc: 0.5 * /ego_planner_node/optimization/max_vel: 0.3 * /rosdistro: noetic * /rosversion: 1.17.4 * /traj_server/traj_server/time_forward: 1.0 * /waypoint_generator/waypoint_type: manual-lonely-way... NODES / ego_planner_node (ego_planner/ego_planner_node) traj_server (ego_planner/traj_server) waypoint_generator (waypoint_generator/waypoint_generator) ROS_MASTER_URI=http://localhost:11311 process[ego_planner_node-1]: started with pid [16771] process[traj_server-2]: started with pid [16772] process[waypoint_generator-3]: started with pid [16774] [INFO] [1756290126.600417247]: init grid_map Get intrinsic 387.229 0 321.046 0 387.229 243.45 0 0 1 hit: 0.619039 miss: -0.619039 min log: -1.99243 max: 2.19722 thresh log: 1.38629 [INFO] [1756290126.699368427]: before Subscriber [INFO] [1756290126.713578239]: grid_map init complete terminate called after throwing an instance of 'ros::InvalidNameException' what(): Character [-] at element [7] is not valid in Graph Resource Name [/drone_-1_planning/swarm_trajs]. Valid characters are a-z, A-Z, 0-9, / and _. [ego_planner_node-1] process has died [pid 16771, exit code -6, cmd /home/lixing/1/Fast-LIO2/devel/lib/ego_planner/ego_planner_node /odom_world:=/Odometry /grid_map/odom:=/Odometry /grid_map/cloud:=/cloud_registered /grid_map/pose:=/pcl_render_node/camera_pose /grid_map/depth:=/camera/depth/image_rect_raw __name:=ego_planner_node __log:=/home/lixing/.ros/log/073dfb40-8314-11f0-8ffb-0145177117b2/ego_planner_node-1.log]. log file: /home/lixing/.ros/log/073dfb40-8314-11f0-8ffb-0145177117b2/ego_planner_node-1*.log [WARN] [1756290128.359651796, 7788.256000000]: [Traj server]: ready.
最新发布
08-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值