mirror of
https://gitcode.com/gh_mirrors/hy/Hydro.git
synced 2026-10-18 01:36:08 +08:00
judge: add memoryMax limit
This commit is contained in:
1 parent
8435f4002b
commit
a3b1f7e640
3 files changed
+8
-1
No files matched your search
@@ -28,6 +28,10 @@ total_time_limit:
|
||||
name: total_time_limit
|
||||
desc: Total time limit per problem
|
||||
default: 60
|
||||
memoryMax:
|
||||
type: text
|
||||
name: memoryMax
|
||||
default: 512m
|
||||
retry_delay_sec:
|
||||
type: number
|
||||
name: retry_delay_sec
|
||||
|
||||
@@ -14,6 +14,7 @@ let config = {
|
||||
tmp_dir: path.resolve(os.tmpdir(), 'hydro', 'judge'),
|
||||
tmpfs_size: '256m',
|
||||
stdio_size: '32m',
|
||||
memoryMax: '512m',
|
||||
retry_delay_sec: 15,
|
||||
sandbox_host: 'http://localhost:5050',
|
||||
testcases_max: 100,
|
||||
|
||||
@@ -2,7 +2,7 @@ import Axios from 'axios';
|
||||
import fs from 'fs-extra';
|
||||
import { argv } from 'yargs';
|
||||
import * as STATUS from './status';
|
||||
import { SystemError } from './error';
|
||||
import { FormatError, SystemError } from './error';
|
||||
import { cmd, parseMemoryMB } from './utils';
|
||||
import { getConfig } from './config';
|
||||
import { Logger } from './log';
|
||||
@@ -31,6 +31,8 @@ function proc({
|
||||
stdin = '', copyIn = {}, copyOut = [], copyOutCached = [],
|
||||
} = {}) {
|
||||
const size = parseMemoryMB(getConfig('stdio_size'));
|
||||
const memoryMax = parseMemoryMB(getConfig('memoryMax'));
|
||||
if (memory > memoryMax) throw new FormatError('Memory limit larger than memory_max');
|
||||
return {
|
||||
args: cmd(execute.replace(/\$\{dir\}/g, '/w')),
|
||||
env,
|
||||
|
||||
Reference in new issue
Block a user