Sponsored Content
Operating Systems AIX Undestanding LANG setting in /etc/environment Post 302778199 by bakunin on Sunday 10th of March 2013 04:52:34 AM
Old 03-10-2013
Quote:
Originally Posted by Aaron Boyce
Our UNIX admin did investigate and figured-out that change in LANG setting in /etc/environment has caused application to log process counts in log as Decimal instead of Integer and was told that LANG was changed to en_US from C.
There are many AIX facilities which are represented differently in various cultures. Language (of the man pages, of command status output, ...), how numbers are represented, keyboard layout and many other things. All this is controlled by some environment variables of which "LANG" is one (and probably the most important). Issue the "set" command and you will see "LANG", but probably also "LC_MESSAGES" and a few others.

It is possible to control this "language environment" for every process separately, simply by setting the language variable to a different value upon process start, like this:

Code:
# (export LANG=<some_value> ; command)

Now for the role of "/etc/environment": as you have issued "set" you sure have noticed there are a lot of variables assigned. Most of these variables are not set explicitly by you, but get assigned default values. These system-wide default values are stored in "/etc/environment". Have a look at it, it is a simple text file with declarations in the form

Code:
# comment line
variable=value

Every time you log in your environment initially gets filled with these defaults. After this your own changes to the environment are being applied and you can change and override any of these defaults. You certainly have a special user for the program you are talking about. If you depend on the LANG variable to have a certain value it is a wise idea to explicitly set it in your startup scripts ("~/.profile") even if it is to the same value as the default. Even if the default changes your environment will remain as it is. I suggest to add a line

Code:
LANG=C ; export LANG

to your profile or shell startup script. The "export" keyword will make sure every process started from this process inherits this setting. Btw.: the same is true for other environment settings one of your programs depend on. Set these explicitly, even if it is to the same value the variable already has. When the default changes you avoid possible problems.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Setting up Environment Variables

Hi all, I am trying to set up some variables in a shell script. The variables contain values of various paths needed to run a java module. The problem is the variables dont seem to be setting at all. here is what i am trying to do : JAR_HOME=/home/was5/bdcms/scheduledjobs/lib export... (6 Replies)
Discussion started by: rpandey
6 Replies

2. UNIX for Dummies Questions & Answers

Setting the $LANG info needed

Hello (Very New to UNIX -Solaris 10) I'm trying to set the LANG variable to C but not sure if it's getting set, need some help on this. Currently I have it set to en_GB.UTF-8 I need to set it to C for an install. but when I run set LANG=C and then run echo $LANG its still set to... (2 Replies)
Discussion started by: deedaz
2 Replies

3. UNIX for Advanced & Expert Users

sudo environment setting?

Hi, first post. As the nick suggests I'm a Unix noob, but I'm doing everything I can to learn fast...job requirement. These forums have been a huge help so far. I have a server running HP-UX 11.23b with Apache/2.0.59 HP-UX_Apache-based_Web_Server. Apache is not installed in the default... (3 Replies)
Discussion started by: nixnoob
3 Replies

4. Programming

Setting Environment variable..!

Hi, I already have one CPP program which invokes the C program.And the C program contains whole function definitions..!This is a working program..I have to enable the logs in both CPP as well as in the C program ..!So I am reading the enviornmental variable log path from the CPP and doing the... (2 Replies)
Discussion started by: Kattoor
2 Replies

5. UNIX for Dummies Questions & Answers

Setting up your environment

Hi I am new to Solaris and was just given my id and need to setup my environment, what do i need to do to run certain commands without putting in the complete path. How do I create my .profile, I do not see under my login? Any help would be greatly appreciated. (5 Replies)
Discussion started by: sa_ken
5 Replies

6. UNIX for Dummies Questions & Answers

Need help with setting up environment variables

hi all, I would appreciate if some one could explain me the difference between setting up the variables as shown below HOME=${HOME:-"/home/user1"} HOME=/home/user1 (1 Reply)
Discussion started by: SSSB
1 Replies

7. UNIX for Dummies Questions & Answers

Setting Environment Variables

#!/bin/bash if ; then ASS1_DATA_DIR=./ echo $ASS1_DATA_DIR export ASS1_DATA_DIR echo "data dir" fi if ; then ASS1_OUTPUT_DIR=./ export ASS1_OUTPUT_DIR fi I want to create a new environment variable ASS1_DATA_DIR and ASS1_OUTPUT_DIR in bash and set them to the current... (4 Replies)
Discussion started by: bigubosu
4 Replies

8. UNIX for Dummies Questions & Answers

Setting up environment variables

Hi all, This is my first post here. I need to set up a few environment variables with a shell script. Some are hard-coded, but some should come from other commands or as input from the user. How do I do that? For example, I need to export a variable as such: export DISPLAY=127.0.0.1:8.0 ... (2 Replies)
Discussion started by: exchequer598
2 Replies

9. Red Hat

Setting up LAMP environment

I wish to setup LAMP environment. Amongst, I have successfully installed Linux 6.1. I am looking fwd to install - Apace Web Server, My Sql Database & PHP environment. Say if I look for MySql, could see downloadable available in rpm format. But this must be copied over to Linux machine. As... (2 Replies)
Discussion started by: videsh77
2 Replies

10. Solaris

/etc/default/init LANG Setting Not Working

Hey guys, I'm setting up a new server(Fujitsu M10-4 / Solaris 10 1/13) to move our app/DB and I'm having trouble figuring out why my LANG setting is not taking effect. I'm trying to set LANG=C in the /etc/default/init file which should make it the default system wide from what I gather. However... (7 Replies)
Discussion started by: kaledragule
7 Replies
cord2(1)						      General Commands Manual							  cord2(1)

Name
       cord2 - rearranges basic blocks in an executable file to facilitate better cache mapping.

Syntax
       cord2 [-v] [-o outfile] [-c cachewords] [-d] [-b bridge_limit] [-n] [-A addersfile] [[-C countsfile] ...] obj

Description
       The  cord2  command extracts basic blocks from a program and deposits them in a new area in the text, making jumps to and from that area as
       necessary.  By separating the basic blocks, you can reduce instruction cache miss rates.  The cord2 command takes the  output  of  a  pixie
       profiling run as input (see

       The executable object file has the suffix obj.  The cord2 command only requires one addersfile; it creates the filename by appending .Bbad-
       drs to the obj filename if none is specified with -A. Multiple counts files can be specified from many runs with multiple -C arguments.	If
       none are specified, cord2 creates the counts filename by appending .Counts to the obj name.

       Multiple  counts  files are added together into an internal counts array represented with C double-type elements. The counts array elements
       contain the density of a block or cycles/byte.  If you specify -n, then the counts are normalized  so  that  each  counts  array  entry	is
       cycles/totalcycles.   When one counts file is specified, the default is to favor small blocks; -n negates that.	When many counts files are
       specified, -n also negates favoring one counts file. This is because its totalcycles may exceed the totalcycles of another counts file.

       The cord2 command determines which basic blocks to insert by sorting the counts array and collecting the blocks	with  the  highest  counts
       that can fit into the new area.	The cord2 command may skip over huge blocks that do not fit at the end of the new area.

       Once  the  blocks are determined, they are inserted into the new area, and their original location is modified to jump to the new area.	At
       the end of each block in the new area, a jump is added  back  to  the  original	block's  subsequent  or  fall-through  location,  and  the
       branch/jump  target  (if necessary).  Both entering and exiting the new area is optimized to take advantage of other blocks in the new area
       and jump delay slots.

       Often, there may be one or more fall-through blocks of a block in the new area which are small, hardly ever used, and not in the new  area.
       If  the	block  following  these  fall-through blocks is in the new area, the fall-through blocks are called bridge blocks.  It may be more
       costly to generate jumps to and from bridge blocks rather than to simply copy them.

       The cord2 command allows you to specify that bridge blocks be added to the new area if they total less than the	bridge_limit  instructions
       between	two  new-area blocks. You can specify the bridge_limit with -b; the default is zero.  Bridge blocks can bump blocks out of the new
       area that might normally fit into it.

       Because the cord2 command works from profile output, the resulting binary is data dependent. In other words, it may perform  well  only	on
       the  same input data that generated the profile information, and may perform worse than the original binary on other data.  Furthermore, if
       the hot areas in the cache do not fit well into one cachepage, performance can degrade.

Options
       The cord2 command also accepts these options:

       -d   Fill the delay slots with nops only when adding jumps to and from the new area.

       -v   Print verbose information. This includes statistics about the cord2 process.

       -v -v
	    Print all of the -v information, but include detailed disassemblies of the code moved, changed, and generated by cord2.

       -c cachewords
	    Specify the number of words in the cache of the machine on which you want to execute.  This is actually the size of the new area.  The
	    cachesize  may be a misnomer, as you can specify a size other than your machine's cache size; however, it is probably the correct num-
	    ber.

       -o outputfile
	    Specify the output file.  If it is not specified, the default is a.out.cord2.

Restrictions
       The cord2 command adds the new area to the end of text so any program using the etext symbol may not work.  See

See Also
       pixie(1), cord(1)

								       RISC								  cord2(1)
All times are GMT -4. The time now is 01:35 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy