nohup has a terrible bad performance compared with interactive command, why?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers nohup has a terrible bad performance compared with interactive command, why?
# 1  
Old 02-20-2009
Question nohup has a terrible bad performance compared with interactive command, why?

I have a strange situation. I'm running a shell script containing several data uploads (using Oracle sqlloader utility). This script is being run on a Red Hat server.

I tried to run it in background:

$ nohup upload.sh &

This script uploads some thousands files. After several hours I checked what the nohup.out was showing and I was quite surprised to see it was very and extremely slow, because it just processed around less than a hundred files. Probably it would took more than 3 days to complete...

I ran the script interactively, I mean direct from command line showing output to screen. Surprise! the script ran several times better that when using nohup, finishing less than an hour.

I suspicted this was because the process using nohup has a slower priority than the one being run interactively. That was not true, both processes had the same priority.

Why this behaviour? I'm not a linux expert. Please help.

Thanks
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. AIX

AIX lpar bad disk I/O performance - 4k per IO limitation ?

Hi Guys, I have fresh new installed VIO 2.2.3.70 on a p710, 3 physical SAS disks, rootvg on hdisk0 and 3 VIO clients through vscsi, AIX7.1tl4 AIX6.1tl9 RHEL6.5ppc, each lpar has its rootvg installed on a LV on datavg (hdisk2) mapped to vhost0,1,2 There is no vg on hdisk1, I use it for my... (1 Reply)
Discussion started by: frenchy59
1 Replies

2. Solaris

Performance (iops) becomes bad, what is the reason?

I have written a virtual HBA driver named "xmp_vhba". A scsi disk is attached on it. as shown below: xmp_vhba, instance #0 disk, instance #11 But the performance became very bad when we read/write the scsi disk using the vdbench(a read/write io tool). What is the reason? ... (7 Replies)
Discussion started by: ForgetChen
7 Replies

3. Solaris

Terrible SMB performance!?

Hi, I tried this question on OTN Discussion Forum, but it seems that forum doesn't have as much activity so I thought I'd try here. I have a big performance problem with Samba server on a fresh install of Solaris Express 11 svn_151a, and a freshly created ZFS pool. I'm getting about 3 to 10 MB/s... (2 Replies)
Discussion started by: doublemeat
2 Replies

4. AIX

Non interactive command output using script command ?

Hello, Script command helps to save command output to file. (Redicection doesn't work in this case). Besides interactive shell 'recording', Linux script command has "-c" option which allows to record output of some non-interactive command. The problem is that AIX script command variant... (6 Replies)
Discussion started by: vilius
6 Replies

5. AIX

Nohup command

I'm trying to run a compress script in the background, but I even though the script is running in the background I get "Sending nohup output to nohup.out." and the screen just stays there. How can I make the script run in background and make my command prompt come back. I was using: nohup... (2 Replies)
Discussion started by: NycUnxer
2 Replies

6. HP-UX

Bad performance but Low CPU loading?

There might be some problem with my server, because every morning at 7, it's performance become bad with no DB extra deadlock. But I just couldn't figure it out. Please give me some advise, thanks a lot... According to the CPU performace chart, Daily CPU loading Maximum: 42 %, Average:36%. ... (8 Replies)
Discussion started by: GreenShery
8 Replies

7. UNIX for Dummies Questions & Answers

nohup command..

Hi.. Can anybody tell me, what exactly the nohup command does & when is it used? Your help is appreciated. (3 Replies)
Discussion started by: Amol21
3 Replies

8. AIX

Bad performance when log in with putty

Hello guys! I'm n00b in AIX and I'm sticked in a problem. (my English is poor enough, but I hope you can understand me :P). So.. I'm trying to connect to an AIX machine with putty, and .. 'using username xxx' appears after 2 sec (OK), but 'xxx@ip's password' appears after 1:15 min. After... (6 Replies)
Discussion started by: combat2k
6 Replies

9. UNIX for Dummies Questions & Answers

comparing Huge Files - Performance is very bad

Hi All, Can you please help me in resolving the following problem? My requirement is like this: 1) I have two files YESTERDAY_FILE and TODAY_FILE. Each one is having nearly two million data. 2) I need to check each record of TODAY_FILE in YESTERDAY_FILE. If exists we can skip that by... (5 Replies)
Discussion started by: madhukalyan
5 Replies

10. UNIX for Dummies Questions & Answers

Nohup Command

Hello All, I am newbie to unix.I am trying to use NOHUP command in shell script it works fine with only "nohup test.sh 10 &" and "/opt/user/nohup test.sh 10 &" gives an error saying "ksh: /opt/user/nohup : not found". Can anybody please guide me to make it work. Thanks Blazix (9 Replies)
Discussion started by: blazix
9 Replies
Login or Register to Ask a Question
nohup(1)							   User Commands							  nohup(1)

NAME
nohup - run a command immune to hangups SYNOPSIS
/usr/bin/nohup command [argument...] /usr/bin/nohup -p [-Fa] pid [pid...] /usr/bin/nohup -g [-Fa] gpid [gpid...] /usr/xpg4/bin/nohup command [argument...] DESCRIPTION
The nohup utility invokes the named command with the arguments supplied. When the command is invoked, nohup arranges for the SIGHUP signal to be ignored by the process. When invoked with the -p or -g flags, nohup arranges for processes already running as identified by a list of process IDs or a list of process group IDs to become immune to hangups. The nohup utility can be used when it is known that command will take a long time to run and the user wants to log out of the terminal. When a shell exits, the system sends its children SIGHUP signals, which by default cause them to be killed. All stopped, running, and back- ground jobs will ignore SIGHUP and continue running, if their invocation is preceded by the nohup command or if the process programmati- cally has chosen to ignore SIGHUP. /usr/bin/nohup Processes run by /usr/bin/nohup are immune to SIGHUP (hangup) and SIGQUIT (quit) signals. /usr/bin/nohup -p [-Fa] Processes specified by ID are made immune to SIGHUP and SIGQUIT, and all output to the controlling terminal is redirected to nohup.out. If -F is specified, nohup will force control of each process. If -a is specified, nohup will change the signal disposition of SIGHUP and SIGQUIT even if the process has installed a handler for either signal. /usr/bin/nohup -g [-Fa] Every process in the same process group as the processes specified by ID are made immune to SIGHUP and SIGQUIT, and all output to the controlling terminal is redirected to nohup.out. If -F is specified, nohup will force control of each process. If -a is specified, nohup will change the signal disposition of SIGHUP and SIGQUIT even if the process has installed a handler for either signal. /usr/xpg4/bin/nohup Processes run by /usr/xpg4/bin/nohup are immune to SIGHUP. The nohup utility does not arrange to make processes immune to a SIGTERM (terminate) signal, so unless they arrange to be immune to SIGTERM or the shell makes them immune to SIGTERM, they will receive it. If nohup.out is not writable in the current directory, output is redirected to $HOME/nohup.out. If a file is created, the file will have read and write permission (600, see chmod(1)). If the standard error is a terminal, it is redirected to the standard output, oth- erwise it is not redirected. The priority of the process run by nohup is not altered. OPTIONS
The following options are supported: -a Always changes the signal disposition of target processes. This option is valid only when specified with -p or -g. -F Force. Grabs the target processes even if another process has control. This option is valid only when specified with -p or -g. -g Operates on a list of process groups. This option is not valid with -p. -p Operates on a list of processes. This option is not valid with -g. OPERANDS
The following operands are supported: pid A decimal process ID to be manipulated by nohup -p. pgid A decimal process group ID to be manipulated by nohup -g. command The name of a command that is to be invoked. If the command operand names any of the special shell_builtins(1) utilities, the results are undefined. argument Any string to be supplied as an argument when invoking the command operand. EXAMPLES
Example 1: Applying nohup to pipelines or command lists It is frequently desirable to apply nohup to pipelines or lists of commands. This can be done only by placing pipelines and command lists in a single file, called a shell script. One can then issue: example$ nohup sh file and the nohup applies to everything in file. If the shell script file is to be executed often, then the need to type sh can be eliminated by giving file execute permission. Add an ampersand and the contents of file are run in the background with interrupts also ignored (see sh(1)): example$ nohup file & Example 2: Applying nohup -p to a process example$ long_running_command & example$ nohup -p `pgrep long_running_command` Example 3: Applying nohup -g to a process group example$ make & example$ ps -o sid -p $$ SID 81079 example$ nohup -g `pgrep -s 81079 make` ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of nohup: LANG, LC_ALL, LC_CTYPE, LC_MES- SAGES, PATH, NLSPATH, and PATH. HOME Determine the path name of the user's home directory: if the output file nohup.out cannot be created in the current directory, the nohup command will use the directory named by HOME to create the file. EXIT STATUS
The following exit values are returned: 126 command was found but could not be invoked. 127 An error occurred in nohup, or command could not be found Otherwise, the exit values of nohup will be those of the command operand. FILES
nohup.out The output file of the nohup execution if standard output is a terminal and if the current directory is writable. $HOME/nohup.out The output file of the nohup execution if standard output is a terminal and if the current directory is not writable. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/nohup +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ /usr/xpg4/bin/nohup +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWxcu4 | +-----------------------------+-----------------------------+ |CSI |enabled | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
batch(1), chmod(1), csh(1), ksh(1), nice(1), pgrep(1), proc(1), ps(1), sh(1), shell_builtins(1), signal(3C), proc(4), attributes(5), envi- ron(5), standards(5) WARNINGS
If you are running the Korn shell (ksh(1)) as your login shell, and have nohup'ed jobs running when you attempt to log out, you will be warned with the message: You have jobs running. You will then need to log out a second time to actually log out. However, your background jobs will continue to run. NOTES
The C-shell (csh(1)) has a built-in command nohup that provides immunity from SIGHUP, but does not redirect output to nohup.out. Commands executed with `&' are automatically immune to HUP signals while in the background. nohup does not recognize command sequences. In the case of the following command, example$ nohup command1; command2 the nohup utility applies only to command1. The command, example$ nohup (command1; command2) is syntactically incorrect. SunOS 5.10 16 Nov 2001 nohup(1)