Несмотря на то, что я увеличил объем памяти ---max-old-space-size=3072
Я продолжаю получать около 30 отчетов в день, и это приводит к регулярным ошибкам 502.
Ниже приведен один из последних отчетов:
{
"header": {
"reportVersion": 2,
"event": "Allocation failed - JavaScript heap out of memory",
"trigger": "FatalError",
"filename": "report.20200501.140308.24618.0.001.json",
"dumpEventTime": "2020-05-01T14:03:08Z",
"dumpEventTimeStamp": "1588334588800",
"processId": 24618,
"threadId": null,
"cwd": "/home/site",
"commandLine": [
"node",
"/home/site/node_modules/.bin/nuxt",
"start",
"---max-old-space-size=3072"
],
"nodejsVersion": "v12.16.2",
"glibcVersionRuntime": "2.17",
"glibcVersionCompiler": "2.17",
"wordSize": 64,
"arch": "x64",
"platform": "linux",
"componentVersions": {
"node": "12.16.2",
"v8": "7.8.279.23-node.34",
"uv": "1.34.2",
"zlib": "1.2.11",
"brotli": "1.0.7",
"ares": "1.15.0",
"modules": "72",
"nghttp2": "1.40.0",
"napi": "5",
"llhttp": "2.0.4",
"http_parser": "2.9.3",
"openssl": "1.1.1e",
"cldr": "36.0",
"icu": "65.1",
"tz": "2019c",
"unicode": "12.1"
},
"release": {
"name": "node",
"lts": "Erbium",
"headersUrl": "https://nodejs.org/download/release/v12.16.2/node-v12.16.2-headers.tar.gz",
"sourceUrl": "https://nodejs.org/download/release/v12.16.2/node-v12.16.2.tar.gz"
},
"osName": "Linux",
"osRelease": "3.10.0-1062.18.1.el7.x86_64",
"osVersion": "#1 SMP Tue Mar 17 23:49:17 UTC 2020",
"osMachine": "x86_64",
"cpus": [
{
"model": "Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz",
"speed": 2095,
"user": 608886800,
"nice": 19400,
"sys": 66939700,
"idle": 8241365000,
"irq": 0
},
{
"model": "Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz",
"speed": 2095,
"user": 614711000,
"nice": 10200,
"sys": 68079900,
"idle": 8241099100,
"irq": 0
},
{
"model": "Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz",
"speed": 2095,
"user": 612194500,
"nice": 11400,
"sys": 67620700,
"idle": 8244685800,
"irq": 0
},
{
"model": "Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz",
"speed": 2095,
"user": 610967400,
"nice": 16400,
"sys": 67288400,
"idle": 8236352200,
"irq": 0
}
],
"networkInterfaces": [
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "127.0.0.1",
"netmask": "255.0.0.0",
"family": "IPv4"
},
{
"name": "eth0",
"internal": false,
"mac": "00:0d:3a:89:b1:dd",
"address": "10.168.0.36",
"netmask": "255.255.255.224",
"family": "IPv4"
},
{
"name": "lo",
"internal": true,
"mac": "00:00:00:00:00:00",
"address": "::1",
"netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
"family": "IPv6",
"scopeid": 0
},
{
"name": "eth0",
"internal": false,
"mac": "00:0d:3a:89:b1:dd",
"address": "fe80::20d:3aff:fe89:b1dd",
"netmask": "ffff:ffff:ffff:ffff::",
"family": "IPv6",
"scopeid": 2
}
],
"host": "server-front-01"
},
"javascriptStack": {
"message": "No stack.",
"stack": [
"Unavailable."
]
},
"nativeStack": [
{
"pc": "0x0000000000b40285",
"symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local<v8::String>) [node]"
},
{
"pc": "0x0000000000a033ef",
"symbol": "node::OnFatalError(char const*, char const*) [node]"
},
{
"pc": "0x0000000000b76ffe",
"symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x0000000000b77379",
"symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]"
},
{
"pc": "0x0000000000d23ad5",
"symbol": " [node]"
},
{
"pc": "0x0000000000d24166",
"symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [node]"
},
{
"pc": "0x0000000000d309e5",
"symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x0000000000d31895",
"symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]"
},
{
"pc": "0x0000000000d3434c",
"symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]"
},
{
"pc": "0x0000000000cfaf1b",
"symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]"
},
{
"pc": "0x000000000103d85e",
"symbol": "v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]"
},
{
"pc": "0x00000000013c03d9",
"symbol": " [node]"
}
],
"javascriptHeap": {
"totalMemory": 2154131456,
"totalCommittedMemory": 2150574192,
"usedMemory": 2133094032,
"availableMemory": 48816936,
"memoryLimit": 2197815296,
"heapSpaces": {
"read_only_space": {
"memorySize": 262144,
"committedMemory": 33088,
"capacity": 32808,
"used": 32808,
"available": 0
},
"new_space": {
"memorySize": 4194304,
"committedMemory": 1211336,
"capacity": 2094912,
"used": 192400,
"available": 1902512
},
"old_space": {
"memorySize": 2132156416,
"committedMemory": 2131969496,
"capacity": 2117872976,
"used": 2116737304,
"available": 1135672
},
"code_space": {
"memorySize": 5410816,
"committedMemory": 5253056,
"capacity": 4831296,
"used": 4831296,
"available": 0
},
"map_space": {
"memorySize": 5509120,
"committedMemory": 5508560,
"capacity": 4811840,
"used": 4811840,
"available": 0
},
"large_object_space": {
"memorySize": 5976064,
"committedMemory": 5976064,
"capacity": 5943840,
"used": 5943840,
"available": 0
},
"code_large_object_space": {
"memorySize": 622592,
"committedMemory": 622592,
"capacity": 544544,
"used": 544544,
"available": 0
},
"new_large_object_space": {
"memorySize": 0,
"committedMemory": 0,
"capacity": 2094912,
"used": 0,
"available": 2094912
}
}
},
"resourceUsage": {
"userCpuSeconds": 406.194,
"kernelCpuSeconds": 13.5663,
"cpuConsumptionPercent": 21.1573,
"maxRss": 2278514688,
"pageFaults": {
"IORequired": 0,
"IONotRequired": 1696633
},
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"uvthreadResourceUsage": {
"userCpuSeconds": 161.215,
"kernelCpuSeconds": 7.10867,
"cpuConsumptionPercent": 8.48407,
"fsActivity": {
"reads": 0,
"writes": 0
}
},
"libuv": [
],
"workers": [
],
"environmentVariables": {
"npm_config_save_dev": "",
"npm_config_legacy_bundling": "",
"npm_config_dry_run": "",
"npm_config_viewer": "man",
"npm_config_only": "",
"npm_config_commit_hooks": "true",
"npm_config_browser": "",
"npm_package_devDependencies_prettier": "^1.18.2",
"npm_config_also": "",
"npm_package_dependencies_vueperslides": "^1.17.4",
"npm_config_sign_git_commit": "",
"npm_config_rollback": "true",
"NODE": "/usr/bin/node",
"npm_config_usage": "",
"npm_config_audit": "true",
"INIT_CWD": "/home/site",
"npm_package_dependencies_axios": "^0.19.0",
"npm_config_globalignorefile": "/usr/etc/npmignore",
"npm_package_dependencies_stylelint_scss": "^3.12.1",
"SHELL": "/bin/bash",
"npm_config_shell": "/bin/bash",
"npm_config_maxsockets": "50",
"npm_config_init_author_url": "",
"npm_package_devDependencies_style_loader": "^0.23.1",
"npm_package_dependencies_browser_cookies": "^1.2.0",
"npm_config_shrinkwrap": "true",
"npm_config_parseable": "",
"npm_config_metrics_registry": "https://registry.npmjs.org/",
"npm_config_timing": "",
"npm_config_init_license": "ISC",
"npm_package_dependencies__nuxtjs_axios": "^5.3.6",
"npm_package_scripts_lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
"npm_config_if_present": "",
"npm_package_dependencies_cookieparser": "^0.1.0",
"npm_package_dependencies_browserslist": "^4.11.1",
"npm_package_dependencies__nuxtjs_device": "^1.2.6",
"npm_package_scripts_dev": "nuxt dev",
"npm_config_sign_git_tag": "",
"npm_config_init_author_email": "",
"npm_config_cache_max": "Infinity",
"npm_config_preid": "",
"npm_config_long": "",
"npm_config_local_address": "",
"npm_config_git_tag_version": "true",
"npm_config_cert": "",
"npm_package_devDependencies_webpack_bundle_analyzer": "^3.3.2",
"npm_package_dependencies_superagent": "^3.8.3",
"npm_config_registry": "https://registry.npmjs.org/",
"npm_config_noproxy": "",
"npm_config_fetch_retries": "2",
"npm_package_private": "true",
"npm_package_devDependencies_extract_text_webpack_plugin": "^3.0.2",
"npm_package_dependencies_nuxt_trailingslash_module": "^1.1.0",
"npm_package_scripts_generate": "nuxt generate",
"npm_config_versions": "",
"npm_config_message": "%s",
"npm_config_key": "",
"npm_package_readmeFilename": "README.md",
"npm_package_dependencies_regenerator_runtime": "^0.13.5",
"npm_package_dependencies_vue_content_loader": "^0.2.2",
"npm_package_description": "Site",
"USER": "site",
"npm_package_devDependencies_glob_all": "^3.2.1",
"npm_package_devDependencies_eslint_loader": "^1.9.0",
"npm_package_dependencies_intersection_observer": "^0.7.0",
"npm_package_dependencies__nuxtjs_pwa": "^3.0.0-beta.20",
"npm_package_dependencies__nuxtjs_dotenv": "^1.3.0",
"npm_config_globalconfig": "/usr/etc/npmrc",
"npm_package_devDependencies_eslint_friendly_formatter": "^3.0.0",
"npm_package_dependencies__nuxtjs_sentry": "^3.0.1",
"npm_config_prefer_online": "",
"npm_config_logs_max": "10",
"npm_config_always_auth": "",
"npm_package_devDependencies__nuxtjs_vuetify": "^1.3.2",
"npm_package_devDependencies_eslint": "^4.19.1",
"npm_package_dependencies__nuxtjs_proxy": "^1.3.1",
"npm_execpath": "/usr/lib/node_modules/npm/bin/npm-cli.js",
"npm_config_global_style": "",
"npm_config_cache_lock_retries": "10",
"npm_package_dependencies_svgxuse": "^1.2.6",
"npm_package_dependencies_node_fetch": "^2.6.0",
"npm_config_update_notifier": "true",
"npm_config_cafile": "",
"npm_package_dependencies_vue_authenticate": "^1.4.1",
"npm_package_dependencies_vue_googlemaps": "^0.1.2",
"npm_package_author_name": "Site",
"npm_config_heading": "npm",
"npm_config_audit_level": "low",
"npm_package_devDependencies_eslint_plugin_prettier": "^3.1.1",
"npm_config_searchlimit": "20",
"npm_config_read_only": "",
"npm_config_offline": "",
"npm_config_fetch_retry_mintimeout": "10000",
"npm_config_json": "",
"npm_config_access": "",
"npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"start\"],\"original\":[\"run\",\"start\"]}",
"npm_package_dependencies_vue_menu_aim": "^1.2.0",
"npm_package_dependencies_atob": "^2.1.1",
"PATH": "/usr/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/site/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin",
"npm_config_allow_same_version": "",
"NODE_PORT": "3010",
"npm_config_https_proxy": "",
"npm_config_engine_strict": "",
"npm_config_description": "true",
"npm_package_dependencies_vue": "^2.6.11",
"npm_config_userconfig": "/home/site/.npmrc",
"npm_config_init_module": "/home/site/.npm-init.js",
"PWD": "/home/site",
"npm_config_cidr": "",
"npm_package_devDependencies__nuxtjs_laravel_echo": "^1.0.2",
"npm_config_user": "",
"npm_config_node_version": "12.16.2",
"npm_lifecycle_event": "start",
"npm_config_save": "true",
"npm_config_ignore_prepublish": "",
"npm_config_editor": "vi",
"npm_config_auth_type": "legacy",
"npm_package_name": "site",
"LANG": "en_US.UTF-8",
"npm_config_tag": "latest",
"npm_config_script_shell": "",
"npm_package_dependencies_universal_cookie": "^3.0.7",
"npm_config_progress": "true",
"npm_config_global": "",
"npm_config_before": "",
"npm_package_scripts_start": "nuxt start ---max-old-space-size=3072",
"npm_package_scripts_build": "nuxt build",
"npm_config_searchstaleness": "900",
"npm_config_optional": "true",
"npm_config_ham_it_up": "",
"npm_package_dependencies_vue_script2": "^2.1.0",
"npm_config_save_prod": "",
"npm_config_force": "",
"npm_config_bin_links": "true",
"npm_package_dependencies_vee_validate": "^2.1.7",
"npm_config_searchopts": "",
"npm_package_dependencies_vuetify": "^2.2.11",
"npm_package_dependencies_superagent_use": "^0.1.0",
"npm_config_node_gyp": "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js",
"npm_config_depth": "Infinity",
"npm_package_devDependencies_svg_spritemap_webpack_plugin": "^3.3.1",
"npm_package_devDependencies_eslint_config_prettier": "^6.4.0",
"npm_package_dependencies_vue_i18n": "^7.6.0",
"npm_config_sso_poll_frequency": "500",
"npm_config_rebuild_bundle": "true",
"npm_package_version": "1.1.0",
"npm_config_unicode": "true",
"SHLVL": "1",
"npm_package_dependencies_vuetify_loader": "^1.3.0",
"HOME": "/home/site/",
"npm_config_fetch_retry_maxtimeout": "60000",
"npm_package_devDependencies_eslint_plugin_vue": "^4.7.1",
"npm_config_tag_version_prefix": "v",
"npm_config_strict_ssl": "true",
"npm_config_sso_type": "oauth",
"npm_config_scripts_prepend_node_path": "warn-only",
"npm_config_save_prefix": "^",
"npm_config_loglevel": "notice",
"npm_config_ca": "",
"npm_package_devDependencies_prettier_eslint": "^9.0.0",
"npm_package_dependencies_stylelint": "^11.1.1",
"npm_package_dependencies_dotenv": "^6.2.0",
"npm_config_save_exact": "",
"npm_config_group": "10002",
"npm_config_fetch_retry_factor": "10",
"npm_config_dev": "",
"npm_package_devDependencies_cross_env": "^5.2.0",
"npm_package_devDependencies_babel_eslint": "^8.2.6",
"npm_config_version": "",
"npm_config_prefer_offline": "",
"npm_config_cache_lock_stale": "60000",
"npm_package_dependencies_nuxt_i18n": "^6.4.1",
"npm_package_dependencies_js_cookie": "^2.2.0",
"npm_config_otp": "",
"npm_config_cache_min": "10",
"npm_package_dependencies_caniuse_lite": "^1.0.30001039",
"npm_config_searchexclude": "",
"npm_config_cache": "/home/site/.npm",
"npm_package_dependencies_vue_server_renderer": "^2.6.11",
"npm_package_dependencies_sass_loader": "^7.1.0",
"LOGNAME": "site",
"npm_lifecycle_script": "nuxt start ---max-old-space-size=3072",
"npm_config_color": "true",
"npm_package_devDependencies_babel_plugin_transform_imports": "^1.5.0",
"npm_config_proxy": "",
"npm_config_package_lock": "true",
"npm_config_package_lock_only": "",
"npm_config_fund": "true",
"npm_config_save_optional": "",
"npm_package_dependencies_sass": "^1.22.9",
"npm_config_ignore_scripts": "",
"npm_config_user_agent": "npm/6.14.4 node/v12.16.2 linux x64",
"npm_config_cache_lock_wait": "10000",
"npm_config_production": "",
"npm_package_dependencies_nuxt": "^2.12.2",
"npm_config_send_metrics": "",
"npm_config_save_bundle": "",
"npm_config_umask": "0022",
"npm_config_node_options": "",
"npm_config_init_version": "1.0.0",
"npm_package_devDependencies_raw_loader": "^4.0.0",
"npm_package_dependencies_vue_template_compiler": "^2.6.11",
"npm_config_init_author_name": "",
"npm_config_git": "git",
"npm_config_scope": "",
"npm_package_devDependencies_css_loader": "^3.2.0",
"npm_config_unsafe_perm": "true",
"npm_config_tmp": "/tmp",
"npm_config_onload_script": "",
"npm_package_scripts_precommit": "npm run lint",
"npm_package_scripts_stylelint": "stylelint '**/*.scss' --syntax scss --fix",
"npm_node_execpath": "/usr/bin/node",
"npm_config_prefix": "/usr",
"npm_config_link": "",
"npm_config_format_package_lock": "true",
"_": "/home/site/node_modules/.bin/nuxt",
"NODE_ENV": "production",
"API_URL": "https://api.site.com",
"CDN": "https://cdn.site.com",
"PORT": "3010",
"HTTP": "https://",
"SENTRY_DSN": "https://f6155ddb1eef49f2975bde7f8d47fdac@o343813.ingest.sentry.io/1890076",
"PAYLINE_CSS": "https://payment.payline.com/styles/widget-min.css",
"PAYLINE_JS": "https://payment.payline.com/scripts/widget-min.js",
"_AXIOS_BASE_URL_": "https://api.site.com",
"VUE_ENV": "server"
},
"userLimits": {
"core_file_size_blocks": {
"soft": 0,
"hard": "unlimited"
},
"data_seg_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"file_size_blocks": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_locked_memory_bytes": {
"soft": 65536,
"hard": 65536
},
"max_memory_size_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
},
"open_files": {
"soft": 4096,
"hard": 4096
},
"stack_size_bytes": {
"soft": 8388608,
"hard": "unlimited"
},
"cpu_time_seconds": {
"soft": "unlimited",
"hard": "unlimited"
},
"max_user_processes": {
"soft": 31774,
"hard": 31774
},
"virtual_memory_kbytes": {
"soft": "unlimited",
"hard": "unlimited"
}
},
"sharedObjects": [
"/lib64/libdl.so.2",
"/lib64/libstdc++.so.6",
"/lib64/libm.so.6",
"/lib64/libgcc_s.so.1",
"/lib64/libpthread.so.0",
"/lib64/libc.so.6",
"/lib64/ld-linux-x86-64.so.2",
"/lib64/libnss_files.so.2",
"/lib64/libnss_dns.so.2",
"/lib64/libresolv.so.2"
]
}
У вас есть идея, как навсегда решить эту проблему?
Спасибо и счастливого рабочего дня всем:)