14 lines
27 KiB
HTML
14 lines
27 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en"><head><meta charset="UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><title>Environment Variables · The Julia Language</title><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
|
|
|
ga('create', 'UA-28835595-6', 'auto');
|
|
ga('send', 'pageview');
|
|
</script><link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com/css?family=Lato|Roboto+Mono" rel="stylesheet" type="text/css"/><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css" rel="stylesheet" type="text/css"/><script>documenterBaseURL=".."</script><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.2.0/require.min.js" data-main="../assets/documenter.js"></script><script src="../siteinfo.js"></script><script src="../../versions.js"></script><link href="../assets/highlightjs/default.css" rel="stylesheet" type="text/css"/><link href="../assets/documenter.css" rel="stylesheet" type="text/css"/></head><body><nav class="toc"><a href="../index.html"><img class="logo" src="../assets/logo.png" alt="The Julia Language logo"/></a><h1>The Julia Language</h1><select id="version-selector" onChange="window.location.href=this.value" style="visibility: hidden"></select><form class="search" action="../search.html"><input id="search-query" name="q" type="text" placeholder="Search docs"/></form><ul><li><a class="toctext" href="../index.html">Home</a></li><li><span class="toctext">Manual</span><ul><li><a class="toctext" href="introduction.html">Introduction</a></li><li><a class="toctext" href="getting-started.html">Getting Started</a></li><li><a class="toctext" href="variables.html">Variables</a></li><li><a class="toctext" href="integers-and-floating-point-numbers.html">Integers and Floating-Point Numbers</a></li><li><a class="toctext" href="mathematical-operations.html">Mathematical Operations and Elementary Functions</a></li><li><a class="toctext" href="complex-and-rational-numbers.html">Complex and Rational Numbers</a></li><li><a class="toctext" href="strings.html">Strings</a></li><li><a class="toctext" href="functions.html">Functions</a></li><li><a class="toctext" href="control-flow.html">Control Flow</a></li><li><a class="toctext" href="variables-and-scoping.html">Scope of Variables</a></li><li><a class="toctext" href="types.html">Types</a></li><li><a class="toctext" href="methods.html">Methods</a></li><li><a class="toctext" href="constructors.html">Constructors</a></li><li><a class="toctext" href="conversion-and-promotion.html">Conversion and Promotion</a></li><li><a class="toctext" href="interfaces.html">Interfaces</a></li><li><a class="toctext" href="modules.html">Modules</a></li><li><a class="toctext" href="documentation.html">Documentation</a></li><li><a class="toctext" href="metaprogramming.html">Metaprogramming</a></li><li><a class="toctext" href="arrays.html">Multi-dimensional Arrays</a></li><li><a class="toctext" href="linear-algebra.html">Linear algebra</a></li><li><a class="toctext" href="networking-and-streams.html">Networking and Streams</a></li><li><a class="toctext" href="parallel-computing.html">Parallel Computing</a></li><li><a class="toctext" href="dates.html">Date and DateTime</a></li><li><a class="toctext" href="interacting-with-julia.html">Interacting With Julia</a></li><li><a class="toctext" href="running-external-programs.html">Running External Programs</a></li><li><a class="toctext" href="calling-c-and-fortran-code.html">Calling C and Fortran Code</a></li><li><a class="toctext" href="handling-operating-system-variation.html">Handling Operating System Variation</a></li><li class="current"><a class="toctext" href="environment-variables.html">Environment Variables</a><ul class="internal"><li><a class="toctext" href="#File-locations-1">File locations</a></li><li><a class="toctext" href="#External-applications-1">External applications</a></li><li><a class="toctext" href="#Parallelization-1">Parallelization</a></li><li><a class="toctext" href="#REPL-formatting-1">REPL formatting</a></li><li><a class="toctext" href="#Debugging-and-profiling-1">Debugging and profiling</a></li></ul></li><li><a class="toctext" href="embedding.html">Embedding Julia</a></li><li><a class="toctext" href="packages.html">Packages</a></li><li><a class="toctext" href="profile.html">Profiling</a></li><li><a class="toctext" href="stacktraces.html">Stack Traces</a></li><li><a class="toctext" href="performance-tips.html">Performance Tips</a></li><li><a class="toctext" href="workflow-tips.html">Workflow Tips</a></li><li><a class="toctext" href="style-guide.html">Style Guide</a></li><li><a class="toctext" href="faq.html">Frequently Asked Questions</a></li><li><a class="toctext" href="noteworthy-differences.html">Noteworthy Differences from other Languages</a></li><li><a class="toctext" href="unicode-input.html">Unicode Input</a></li></ul></li><li><span class="toctext">Standard Library</span><ul><li><a class="toctext" href="../stdlib/base.html">Essentials</a></li><li><a class="toctext" href="../stdlib/collections.html">Collections and Data Structures</a></li><li><a class="toctext" href="../stdlib/math.html">Mathematics</a></li><li><a class="toctext" href="../stdlib/numbers.html">Numbers</a></li><li><a class="toctext" href="../stdlib/strings.html">Strings</a></li><li><a class="toctext" href="../stdlib/arrays.html">Arrays</a></li><li><a class="toctext" href="../stdlib/parallel.html">Tasks and Parallel Computing</a></li><li><a class="toctext" href="../stdlib/linalg.html">Linear Algebra</a></li><li><a class="toctext" href="../stdlib/constants.html">Constants</a></li><li><a class="toctext" href="../stdlib/file.html">Filesystem</a></li><li><a class="toctext" href="../stdlib/io-network.html">I/O and Network</a></li><li><a class="toctext" href="../stdlib/punctuation.html">Punctuation</a></li><li><a class="toctext" href="../stdlib/sort.html">Sorting and Related Functions</a></li><li><a class="toctext" href="../stdlib/pkg.html">Package Manager Functions</a></li><li><a class="toctext" href="../stdlib/dates.html">Dates and Time</a></li><li><a class="toctext" href="../stdlib/iterators.html">Iteration utilities</a></li><li><a class="toctext" href="../stdlib/test.html">Unit Testing</a></li><li><a class="toctext" href="../stdlib/c.html">C Interface</a></li><li><a class="toctext" href="../stdlib/libc.html">C Standard Library</a></li><li><a class="toctext" href="../stdlib/libdl.html">Dynamic Linker</a></li><li><a class="toctext" href="../stdlib/profile.html">Profiling</a></li><li><a class="toctext" href="../stdlib/stacktraces.html">StackTraces</a></li><li><a class="toctext" href="../stdlib/simd-types.html">SIMD Support</a></li></ul></li><li><span class="toctext">Developer Documentation</span><ul><li><a class="toctext" href="../devdocs/reflection.html">Reflection and introspection</a></li><li><span class="toctext">Documentation of Julia's Internals</span><ul><li><a class="toctext" href="../devdocs/init.html">Initialization of the Julia runtime</a></li><li><a class="toctext" href="../devdocs/ast.html">Julia ASTs</a></li><li><a class="toctext" href="../devdocs/types.html">More about types</a></li><li><a class="toctext" href="../devdocs/object.html">Memory layout of Julia Objects</a></li><li><a class="toctext" href="../devdocs/eval.html">Eval of Julia code</a></li><li><a class="toctext" href="../devdocs/callconv.html">Calling Conventions</a></li><li><a class="toctext" href="../devdocs/compiler.html">High-level Overview of the Native-Code Generation Process</a></li><li><a class="toctext" href="../devdocs/functions.html">Julia Functions</a></li><li><a class="toctext" href="../devdocs/cartesian.html">Base.Cartesian</a></li><li><a class="toctext" href="../devdocs/meta.html">Talking to the compiler (the <code>:meta</code> mechanism)</a></li><li><a class="toctext" href="../devdocs/subarrays.html">SubArrays</a></li><li><a class="toctext" href="../devdocs/sysimg.html">System Image Building</a></li><li><a class="toctext" href="../devdocs/llvm.html">Working with LLVM</a></li><li><a class="toctext" href="../devdocs/stdio.html">printf() and stdio in the Julia runtime</a></li><li><a class="toctext" href="../devdocs/boundscheck.html">Bounds checking</a></li><li><a class="toctext" href="../devdocs/locks.html">Proper maintenance and care of multi-threading locks</a></li><li><a class="toctext" href="../devdocs/offset-arrays.html">Arrays with custom indices</a></li><li><a class="toctext" href="../devdocs/libgit2.html">Base.LibGit2</a></li><li><a class="toctext" href="../devdocs/require.html">Module loading</a></li></ul></li><li><span class="toctext">Developing/debugging Julia's C code</span><ul><li><a class="toctext" href="../devdocs/backtraces.html">Reporting and analyzing crashes (segfaults)</a></li><li><a class="toctext" href="../devdocs/debuggingtips.html">gdb debugging tips</a></li><li><a class="toctext" href="../devdocs/valgrind.html">Using Valgrind with Julia</a></li><li><a class="toctext" href="../devdocs/sanitizers.html">Sanitizer support</a></li></ul></li></ul></li></ul></nav><article id="docs"><header><nav><ul><li>Manual</li><li><a href="environment-variables.html">Environment Variables</a></li></ul><a class="edit-page" href="https://github.com/JuliaLang/julia/tree/d386e40c17d43b79fc89d3e579fc04547241787c/doc/src/manual/environment-variables.md"><span class="fa"></span> Edit on GitHub</a></nav><hr/><div id="topbar"><span>Environment Variables</span><a class="fa fa-bars" href="#"></a></div></header><h1><a class="nav-anchor" id="Environment-Variables-1" href="#Environment-Variables-1">Environment Variables</a></h1><p>Julia may be configured with a number of environment variables, either in the usual way of the operating system, or in a portable way from within Julia. Suppose you want to set the environment variable <code>JULIA_EDITOR</code> to <code>vim</code>, then either type <code>ENV["JULIA_EDITOR"] = "vim"</code> for instance in the REPL to make this change on a case by case basis, or add the same to the user configuration file <code>.juliarc.jl</code> in the user's home directory to have a permanent effect. The current value of the same environment variable is determined by evaluating <code>ENV["JULIA_EDITOR"]</code>.</p><p>The environment variables that Julia uses generally start with <code>JULIA</code>. If <a href="../stdlib/base.html#Base.versioninfo"><code>Base.versioninfo</code></a> is called with <code>verbose</code> equal to <code>true</code>, then the output will list defined environment variables relevant for Julia, including those for which <code>JULIA</code> appears in the name.</p><h2><a class="nav-anchor" id="File-locations-1" href="#File-locations-1">File locations</a></h2><h3><a class="nav-anchor" id="JULIA_HOME-1" href="#JULIA_HOME-1"><code>JULIA_HOME</code></a></h3><p>The absolute path of the directory containing the Julia executable, which sets the global variable <a href="../stdlib/constants.html#Base.JULIA_HOME"><code>Base.JULIA_HOME</code></a>. If <code>$JULIA_HOME</code> is not set, then Julia determines the value <code>Base.JULIA_HOME</code> at run-time.</p><p>The executable itself is one of</p><pre><code class="language-none">$JULIA_HOME/julia
|
|
$JULIA_HOME/julia-debug</code></pre><p>by default.</p><p>The global variable <code>Base.DATAROOTDIR</code> determines a relative path from <code>Base.JULIA_HOME</code> to the data directory associated with Julia. Then the path</p><pre><code class="language-none">$JULIA_HOME/$DATAROOTDIR/julia/base</code></pre><p>determines the directory in which Julia initially searches for source files (via <code>Base.find_source_file()</code>).</p><p>Likewise, the global variable <code>Base.SYSCONFDIR</code> determines a relative path to the configuration file directory. Then Julia searches for a <code>juliarc.jl</code> file at</p><pre><code class="language-none">$JULIA_HOME/$SYSCONFDIR/julia/juliarc.jl
|
|
$JULIA_HOME/../etc/julia/juliarc.jl</code></pre><p>by default (via <code>Base.load_juliarc()</code>).</p><p>For example, a Linux installation with a Julia executable located at <code>/bin/julia</code>, a <code>DATAROOTDIR</code> of <code>../share</code>, and a <code>SYSCONFDIR</code> of <code>../etc</code> will have <code>JULIA_HOME</code> set to <code>/bin</code>, a source-file search path of</p><pre><code class="language-none">/share/julia/base</code></pre><p>and a global configuration search path of</p><pre><code class="language-none">/etc/julia/juliarc.jl</code></pre><h3><a class="nav-anchor" id="JULIA_LOAD_PATH-1" href="#JULIA_LOAD_PATH-1"><code>JULIA_LOAD_PATH</code></a></h3><p>A separated list of absolute paths that are to be appended to the variable <a href="../stdlib/constants.html#Base.LOAD_PATH"><code>LOAD_PATH</code></a>. (In Unix-like systems, the path separator is <code>:</code>; in Windows systems, the path separator is <code>;</code>.) The <code>LOAD_PATH</code> variable is where <a href="../stdlib/base.html#Base.require"><code>Base.require</code></a> and <code>Base.load_in_path()</code> look for code; it defaults to the absolute paths</p><pre><code class="language-none">$JULIA_HOME/../local/share/julia/site/v$(VERSION.major).$(VERSION.minor)
|
|
$JULIA_HOME/../share/julia/site/v$(VERSION.major).$(VERSION.minor)</code></pre><p>so that, e.g., version 0.6 of Julia on a Linux system with a Julia executable at <code>/bin/julia</code> will have a default <code>LOAD_PATH</code> of</p><pre><code class="language-none">/local/share/julia/site/v0.6
|
|
/share/julia/site/v0.6</code></pre><h3><a class="nav-anchor" id="JULIA_PKGDIR-1" href="#JULIA_PKGDIR-1"><code>JULIA_PKGDIR</code></a></h3><p>The path of the parent directory <code>Pkg.Dir._pkgroot()</code> for the version-specific Julia package repositories. If the path is relative, then it is taken with respect to the working directory. If <code>$JULIA_PKGDIR</code> is not set, then <code>Pkg.Dir._pkgroot()</code> defaults to</p><pre><code class="language-none">$HOME/.julia</code></pre><p>Then the repository location <a href="../stdlib/pkg.html#Base.Pkg.dir"><code>Pkg.dir</code></a> for a given Julia version is</p><pre><code class="language-none">$JULIA_PKGDIR/v$(VERSION.major).$(VERSION.minor)</code></pre><p>For example, for a Linux user whose home directory is <code>/home/alice</code>, the directory containing the package repositories would by default be</p><pre><code class="language-none">/home/alice/.julia</code></pre><p>and the package repository for version 0.6 of Julia would be</p><pre><code class="language-none">/home/alice/.julia/v0.6</code></pre><h3><a class="nav-anchor" id="JULIA_HISTORY-1" href="#JULIA_HISTORY-1"><code>JULIA_HISTORY</code></a></h3><p>The absolute path <code>Base.REPL.find_hist_file()</code> of the REPL's history file. If <code>$JULIA_HISTORY</code> is not set, then <code>Base.REPL.find_hist_file()</code> defaults to</p><pre><code class="language-none">$HOME/.julia_history</code></pre><h3><a class="nav-anchor" id="JULIA_PKGRESOLVE_ACCURACY-1" href="#JULIA_PKGRESOLVE_ACCURACY-1"><code>JULIA_PKGRESOLVE_ACCURACY</code></a></h3><p>A positive <code>Int</code> that determines how much time the max-sum subroutine <code>MaxSum.maxsum()</code> of the package dependency resolver <a href="../stdlib/pkg.html#Base.Pkg.resolve"><code>Base.Pkg.resolve</code></a> will devote to attempting satisfying constraints before giving up: this value is by default <code>1</code>, and larger values correspond to larger amounts of time.</p><p>Suppose the value of <code>$JULIA_PKGRESOLVE_ACCURACY</code> is <code>n</code>. Then</p><ul><li><p>the number of pre-decimation iterations is <code>20*n</code>,</p></li><li><p>the number of iterations between decimation steps is <code>10*n</code>, and</p></li><li><p>at decimation steps, at most one in every <code>20*n</code> packages is decimated.</p></li></ul><h2><a class="nav-anchor" id="External-applications-1" href="#External-applications-1">External applications</a></h2><h3><a class="nav-anchor" id="JULIA_SHELL-1" href="#JULIA_SHELL-1"><code>JULIA_SHELL</code></a></h3><p>The absolute path of the shell with which Julia should execute external commands (via <code>Base.repl_cmd()</code>). Defaults to the environment variable <code>$SHELL</code>, and falls back to <code>/bin/sh</code> if <code>$SHELL</code> is unset.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>On Windows, this environment variable is ignored, and external commands are executed directly.</p></div></div><h3><a class="nav-anchor" id="JULIA_EDITOR-1" href="#JULIA_EDITOR-1"><code>JULIA_EDITOR</code></a></h3><p>The editor returned by <code>Base.editor()</code> and used in, e.g., <a href="../stdlib/base.html#Base.edit-Tuple{AbstractString,Integer}"><code>Base.edit</code></a>, referring to the command of the preferred editor, for instance <code>vim</code>.</p><p><code>$JULIA_EDITOR</code> takes precedence over <code>$VISUAL</code>, which in turn takes precedence over <code>$EDITOR</code>. If none of these environment variables is set, then the editor is taken to be <code>open</code> on Windows and OS X, or <code>/etc/alternatives/editor</code> if it exists, or <code>emacs</code> otherwise.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p><code>$JULIA_EDITOR</code> is <em>not</em> used in the determination of the editor for <a href="../stdlib/pkg.html#Base.Pkg.edit"><code>Base.Pkg.edit</code></a>: this function checks <code>$VISUAL</code> and <code>$EDITOR</code> alone.</p></div></div><h2><a class="nav-anchor" id="Parallelization-1" href="#Parallelization-1">Parallelization</a></h2><h3><a class="nav-anchor" id="JULIA_CPU_CORES-1" href="#JULIA_CPU_CORES-1"><code>JULIA_CPU_CORES</code></a></h3><p>Overrides the global variable <a href="../stdlib/constants.html#Base.Sys.CPU_CORES"><code>Base.Sys.CPU_CORES</code></a>, the number of logical CPU cores available.</p><h3><a class="nav-anchor" id="JULIA_WORKER_TIMEOUT-1" href="#JULIA_WORKER_TIMEOUT-1"><code>JULIA_WORKER_TIMEOUT</code></a></h3><p>A <a href="../stdlib/numbers.html#Core.Float64"><code>Float64</code></a> that sets the value of <code>Base.worker_timeout()</code> (default: <code>60.0</code>). This function gives the number of seconds a worker process will wait for a master process to establish a connection before dying.</p><h3><a class="nav-anchor" id="JULIA_NUM_THREADS-1" href="#JULIA_NUM_THREADS-1"><code>JULIA_NUM_THREADS</code></a></h3><p>An unsigned 64-bit integer (<code>uint64_t</code>) that sets the maximum number of threads available to Julia. If <code>$JULIA_NUM_THREADS</code> exceeds the number of available physical CPU cores, then the number of threads is set to the number of cores. If <code>$JULIA_NUM_THREADS</code> is not positive or is not set, or if the number of CPU cores cannot be determined through system calls, then the number of threads is set to <code>1</code>.</p><h3><a class="nav-anchor" id="JULIA_THREAD_SLEEP_THRESHOLD-1" href="#JULIA_THREAD_SLEEP_THRESHOLD-1"><code>JULIA_THREAD_SLEEP_THRESHOLD</code></a></h3><p>If set to a string that starts with the case-insensitive substring <code>"infinite"</code>, then spinning threads never sleep. Otherwise, <code>$JULIA_THREAD_SLEEP_THRESHOLD</code> is interpreted as an unsigned 64-bit integer (<code>uint64_t</code>) and gives, in nanoseconds, the amount of time after which spinning threads should sleep.</p><h3><a class="nav-anchor" id="JULIA_EXCLUSIVE-1" href="#JULIA_EXCLUSIVE-1"><code>JULIA_EXCLUSIVE</code></a></h3><p>If set to anything besides <code>0</code>, then Julia's thread policy is consistent with running on a dedicated machine: the master thread is on proc 0, and threads are affinitized. Otherwise, Julia lets the operating system handle thread policy.</p><h2><a class="nav-anchor" id="REPL-formatting-1" href="#REPL-formatting-1">REPL formatting</a></h2><p>Environment variables that determine how REPL output should be formatted at the terminal. Generally, these variables should be set to <a href="http://ascii-table.com/ansi-escape-sequences.php">ANSI terminal escape sequences</a>. Julia provides a high-level interface with much of the same functionality: see the section on <a href="interacting-with-julia.html#Interacting-With-Julia-1">Interacting With Julia</a>.</p><h3><a class="nav-anchor" id="JULIA_ERROR_COLOR-1" href="#JULIA_ERROR_COLOR-1"><code>JULIA_ERROR_COLOR</code></a></h3><p>The formatting <code>Base.error_color()</code> (default: light red, <code>"\033[91m"</code>) that errors should have at the terminal.</p><h3><a class="nav-anchor" id="JULIA_WARN_COLOR-1" href="#JULIA_WARN_COLOR-1"><code>JULIA_WARN_COLOR</code></a></h3><p>The formatting <code>Base.warn_color()</code> (default: yellow, <code>"\033[93m"</code>) that warnings should have at the terminal.</p><h3><a class="nav-anchor" id="JULIA_INFO_COLOR-1" href="#JULIA_INFO_COLOR-1"><code>JULIA_INFO_COLOR</code></a></h3><p>The formatting <code>Base.info_color()</code> (default: cyan, <code>"\033[36m"</code>) that info should have at the terminal.</p><h3><a class="nav-anchor" id="JULIA_INPUT_COLOR-1" href="#JULIA_INPUT_COLOR-1"><code>JULIA_INPUT_COLOR</code></a></h3><p>The formatting <code>Base.input_color()</code> (default: normal, <code>"\033[0m"</code>) that input should have at the terminal.</p><h3><a class="nav-anchor" id="JULIA_ANSWER_COLOR-1" href="#JULIA_ANSWER_COLOR-1"><code>JULIA_ANSWER_COLOR</code></a></h3><p>The formatting <code>Base.answer_color()</code> (default: normal, <code>"\033[0m"</code>) that output should have at the terminal.</p><h3><a class="nav-anchor" id="JULIA_STACKFRAME_LINEINFO_COLOR-1" href="#JULIA_STACKFRAME_LINEINFO_COLOR-1"><code>JULIA_STACKFRAME_LINEINFO_COLOR</code></a></h3><p>The formatting <code>Base.stackframe_lineinfo_color()</code> (default: bold, <code>"\033[1m"</code>) that line info should have during a stack trace at the terminal.</p><h3><a class="nav-anchor" id="JULIA_STACKFRAME_FUNCTION_COLOR-1" href="#JULIA_STACKFRAME_FUNCTION_COLOR-1"><code>JULIA_STACKFRAME_FUNCTION_COLOR</code></a></h3><p>The formatting <code>Base.stackframe_function_color()</code> (default: bold, <code>"\033[1m"</code>) that function calls should have during a stack trace at the terminal.</p><h2><a class="nav-anchor" id="Debugging-and-profiling-1" href="#Debugging-and-profiling-1">Debugging and profiling</a></h2><h3><a class="nav-anchor" id="JULIA_GC_ALLOC_POOL,-JULIA_GC_ALLOC_OTHER,-JULIA_GC_ALLOC_PRINT-1" href="#JULIA_GC_ALLOC_POOL,-JULIA_GC_ALLOC_OTHER,-JULIA_GC_ALLOC_PRINT-1"><code>JULIA_GC_ALLOC_POOL</code>, <code>JULIA_GC_ALLOC_OTHER</code>, <code>JULIA_GC_ALLOC_PRINT</code></a></h3><p>If set, these environment variables take strings that optionally start with the character <code>'r'</code>, followed by a string interpolation of a colon-separated list of three signed 64-bit integers (<code>int64_t</code>). This triple of integers <code>a:b:c</code> represents the arithmetic sequence <code>a</code>, <code>a + b</code>, <code>a + 2*b</code>, ... <code>c</code>.</p><ul><li><p>If it's the <code>n</code>th time that <code>jl_gc_pool_alloc()</code> has been called, and <code>n</code> belongs to the arithmetic sequence represented by <code>$JULIA_GC_ALLOC_POOL</code>, then garbage collection is forced.</p></li><li><p>If it's the <code>n</code>th time that <code>maybe_collect()</code> has been called, and <code>n</code> belongs to the arithmetic sequence represented by <code>$JULIA_GC_ALLOC_OTHER</code>, then garbage collection is forced.</p></li><li><p>If it's the <code>n</code>th time that <code>jl_gc_collect()</code> has been called, and <code>n</code> belongs to the arithmetic sequence represented by <code>$JULIA_GC_ALLOC_PRINT</code>, then counts for the number of calls to <code>jl_gc_pool_alloc()</code> and <code>maybe_collect()</code> are printed.</p></li></ul><p>If the value of the environment variable begins with the character <code>'r'</code>, then the interval between garbage collection events is randomized.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>These environment variables only have an effect if Julia was compiled with garbage-collection debugging (that is, if <code>WITH_GC_DEBUG_ENV</code> is set to <code>1</code> in the build configuration).</p></div></div><h3><a class="nav-anchor" id="JULIA_GC_NO_GENERATIONAL-1" href="#JULIA_GC_NO_GENERATIONAL-1"><code>JULIA_GC_NO_GENERATIONAL</code></a></h3><p>If set to anything besides <code>0</code>, then the Julia garbage collector never performs "quick sweeps" of memory.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>This environment variable only has an effect if Julia was compiled with garbage-collection debugging (that is, if <code>WITH_GC_DEBUG_ENV</code> is set to <code>1</code> in the build configuration).</p></div></div><h3><a class="nav-anchor" id="JULIA_GC_WAIT_FOR_DEBUGGER-1" href="#JULIA_GC_WAIT_FOR_DEBUGGER-1"><code>JULIA_GC_WAIT_FOR_DEBUGGER</code></a></h3><p>If set to anything besides <code>0</code>, then the Julia garbage collector will wait for a debugger to attach instead of aborting whenever there's a critical error.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>This environment variable only has an effect if Julia was compiled with garbage-collection debugging (that is, if <code>WITH_GC_DEBUG_ENV</code> is set to <code>1</code> in the build configuration).</p></div></div><h3><a class="nav-anchor" id="ENABLE_JITPROFILING-1" href="#ENABLE_JITPROFILING-1"><code>ENABLE_JITPROFILING</code></a></h3><p>If set to anything besides <code>0</code>, then the compiler will create and register an event listener for just-in-time (JIT) profiling.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>This environment variable only has an effect if Julia was compiled with JIT profiling support, using either</p></div></div><ul><li><p>Intel's <a href="https://software.intel.com/en-us/intel-vtune-amplifier-xe">VTune™ Amplifier</a> (<code>USE_INTEL_JITEVENTS</code> set to <code>1</code> in the build configuration), or</p></li><li><p><a href="http://oprofile.sourceforge.net/news/">OProfile</a> (<code>USE_OPROFILE_JITEVENTS</code> set to <code>1</code> in the build configuration).</p></li></ul><h3><a class="nav-anchor" id="JULIA_LLVM_ARGS-1" href="#JULIA_LLVM_ARGS-1"><code>JULIA_LLVM_ARGS</code></a></h3><p>Arguments to be passed to the LLVM backend.</p><div class="admonition note"><div class="admonition-title">Note</div><div class="admonition-text"><p>This environment variable has an effect only if Julia was compiled with <code>JL_DEBUG_BUILD</code> set — in particular, the <code>julia-debug</code> executable is always compiled with this build variable.</p></div></div><h3><a class="nav-anchor" id="JULIA_DEBUG_LOADING-1" href="#JULIA_DEBUG_LOADING-1"><code>JULIA_DEBUG_LOADING</code></a></h3><p>If set, then Julia prints detailed information about the cache in the loading process of <a href="../stdlib/base.html#Base.require"><code>Base.require</code></a>.</p><footer><hr/><a class="previous" href="handling-operating-system-variation.html"><span class="direction">Previous</span><span class="title">Handling Operating System Variation</span></a><a class="next" href="embedding.html"><span class="direction">Next</span><span class="title">Embedding Julia</span></a></footer></article></body></html>
|